Skip to content

Palisade API (2.0)

The Palisade API enables programmatic interaction with the various features of the Palisade platform

Download OpenAPI description
Languages
Servers
Mock server

https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/

Sandbox server (uses TESTNET data, private keys and accounts)

https://api.sandbox.palisade.co/

Palisade server (uses MAINNET data, private keys and accounts)

https://api.palisade.co/

Addresses

Used to manage addresses

Operations

Allow Addresses (deprecated)

Used to manage legacy allow addresses

API Credentials

Used to manage credentials

Operations

Approvals

Used to manage approvals

Operations

Approvers

Used to manage approvers

Operations

Audit

Used to manage configuration for audit

Operations

Backup

Used to manage backups

Operations

Balances

Used to view balances

Operations

Compliance

Used to manage compliance

Operations

Counterparties

Used to manage counterparties

Operations

Devices

Used to manage devices

Operations

Information

Used to view information about the platform

Operations

MPC - Memberships

Used to manage MPC memberships

Operations

MPC - Quorums

Used to manage MPC quorums

Operations

MPC - Sessions

Used to manage MPC sessions

Operations

Organizations

Used to manage organizations

Operations

Policies

Used to manage connections policies

Operations

Rates

Used to retrieve rates

Operations

Sweep Configurations

Used to manage sweep configurations

Operations

Tags

Used to manage organization tags

Operations

Transactions

Used to manage transactions

Operations

Estimate the fee for a transfer transaction

Request

Estimate the fee for a transfer transaction

Security
TokenAuth
Bodyapplication/jsonrequired
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
contractstring

The contract/issuing address

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
symbolstringrequired

The asset symbol

Example: "USD"
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
curl -i -X POST \
  https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/transactions/transfer/estimate-fee \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "blockchain": "AVALANCHE",
    "contract": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "symbol": "USD",
    "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
  }'

Responses

Bodyapplication/json
evmobject(v2EvmFeeEstimate)
networkFeesobjectrequired

Map of fee options where keys are fee types (slowest, slow, medium, fast, fastest) and values are the fee amounts in base asset units

Example: {"slowest":"0.00001","slow":"0.00005","medium":"0.00010","fast":"0.00015","fastest":"0.0002"}
networkFees.​property name*stringadditional property
Response
application/json
{ "evm": { "gasPrice": "155", "baseFee": "155", "priorityFee": "155", "gasLimit": "21000" }, "networkFees": { "slowest": "0.00001", "slow": "0.00005", "medium": "0.00010", "fast": "0.00015", "fastest": "0.0002" } }

List wallet transactions

Request

List all transactions for a given wallet

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Query
pageSizeinteger(int32)

The number of results to return per page (default 50, max 1000)

pageTokenstring

The token to retrieve the next page of results

correlationIdstring

Correlation ID for this request, used to correlate multiple actions

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions?pageSize=0&pageToken=string&correlationId=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

A successful response.

Bodyapplication/json
filterobject(v2FilterResponse)
transactionsArray of objects(transactionsv2Transaction)
Response
application/json
{ "filter": { "previousPageToken": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=", "nextPageToken": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=", "total": 100 }, "transactions": [ {} ] }

Create a new raw transaction

Request

Create a new raw transaction, and optionally publish it to the blockchain

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
encodedTransactionstringrequired

The encoded transaction. Note that this must be encoded in the relevant blockchain format. RLP encoded for EVM chains. Binary codec encoding for XRP. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
blockchainstring(Supported blockchains)
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/raw' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080",
    "signOnly": "true",
    "blockchain": "AVALANCHE"
  }'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

(BETA) Create a new sign plaintext transaction

Request

(BETA) Create a new sign plaintext transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
messagestringrequired

The plaintext message to sign.

Example: "Sign: 1234"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/sign-plaintext' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "message": "Sign: 1234"
  }'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

Create a new transfer transaction

Request

Create a new transfer transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
destinationAddressstringrequired

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
contractstring

The contract/issuing address

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
symbolstringrequired

The asset symbol

Example: "USD"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
networkFeestring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
configobject(v2XRPTransactionConfig)
correlationIdstring

Correlation ID for this transaction, used to correlate multiple actions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
blockchainstring(Supported blockchains)
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/transfer' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4",
    "contract": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "symbol": "USD",
    "qty": "155.672",
    "sequence": "2",
    "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384",
    "networkFee": "155.672",
    "config": {
      "sourceTag": "123456",
      "destinationTag": "123456"
    },
    "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384",
    "blockchain": "AVALANCHE"
  }'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

Get a transaction

Request

Get a transaction by ID

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

transactionIdstringrequired

The transaction ID

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

Freeze a transaction

Request

Freeze a transaction by ID

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

transactionIdstringrequired

The transaction ID

Query
reasonstringrequired

Reason for freezing the transaction

curl -i -X PUT \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}/freeze?reason=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

Unfreeze a transaction

Request

Unfreeze a transaction by ID

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

transactionIdstringrequired

The transaction ID

Query
reasonstringrequired

Reason for unfreezing the transaction

curl -i -X PUT \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/{transactionId}/unfreeze?reason=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
idstring(======================== IDENTIFICATION ======================)required

The transaction ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
walletIdstringrequired

The wallet ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
vaultIdstringrequired

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
organizationIdstringrequired

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdBystring(========================== METADATA ==========================)required

The ID of the user that created the transaction

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
createdAtstring(date-time)required

The date and time the transaction was created

Example: "2022-03-29T10:22:22.420Z"
updatedAtstring(date-time)required

The date and time the transaction was updated

Example: "2022-03-29T10:22:22.420Z"
attributesobject
statusstring(transactionsv2TransactionStatus)required
Enum"REQUESTED""POLICY_CHECK_PENDING""POLICY_CHECK_PASSED""APPROVAL_CHECK_PENDING""APPROVAL_CHECK_PASSED""COMPILATION_PENDING""COMPILED""SIGNATURE_PENDING""SIGNED""PUBLISH_PENDING"
actionstring(transactionsv2TransactionAction)required
Enum"DEPOSIT""WITHDRAWAL""WEB3_RAW""WEB3_SIGN""PASSKEY_RAW""PASSKEY_SIGN""PALISADE_TRANSFER""PALISADE_RAW""PALISADE_MANAGED""PALISADE_SIGN_PLAINTEXT"
externalIdstring

External ID of this transaction, unique to the organization

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
correlationIdstring

The correlation ID of the transaction, used to link related transactions

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
assetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

asset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
asset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
asset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
asset.​namestring

The human readable name of the asset

Example: "Chainlink"
asset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
asset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
asset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
asset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
asset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
asset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
asset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
asset.​organizationIdstring

Organization ID for custom assets

asset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
asset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

asset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
asset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
asset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
feeAssetobject(commonv2Asset)required

Asset is any blockchain asset e.g. USDC, XRP etc.

feeAsset.​idstringrequired

ID is unique across all blockchains and created by combining the blockchain ID, contract address, and symbol

Example: "5:0xbehbehfb:USDC"
feeAsset.​standardstring(Supported asset types)required
Enum"NATIVE""ERC20""ISSUED_CURRENCY""ERC721""SPL""CUSTOM"
feeAsset.​symbolstringrequired

The currency symbol of the asset

Example: "LINK"
feeAsset.​namestring

The human readable name of the asset

Example: "Chainlink"
feeAsset.​blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
feeAsset.​decimalsinteger(int32)

Count of decimal places for the asset

Example: 18
feeAsset.​vettedboolean

Whether the asset is vetted on the regulated platform

Example: true
feeAsset.​enabledboolean

Whether the asset is currently enabled on the platform

Example: true
feeAsset.​contractstring

The token contract address. This field will be empty if the asset is the native coin of the blockchain

Example: "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e"
feeAsset.​createdAtstring(date-time)required

The date and time the asset was created

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​updatedAtstring(date-time)

The date and time the asset was last updated

Example: "2022-03-29T10:22:22.420Z"
feeAsset.​organizationIdstring

Organization ID for custom assets

feeAsset.​coingeckoIdstring

CoinGecko identifier for price data (optional for testnet assets)

Example: "ethereum"
feeAsset.​sourcestring(AssetSource defines the source of asset data)
  • ASSET_SOURCE_LEGACY: Legacy entries
  • ASSET_SOURCE_AUTO: Auto-generated
  • ASSET_SOURCE_COINGECKO: From CoinGecko sync
  • ASSET_SOURCE_PALISADE: Admin entries
  • ASSET_SOURCE_CUSTOMER: Customer entries
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
feeAsset.​sourceMetadataobject(protobufAny)

Any contains an arbitrary serialized protocol buffer message along with a URL that describes the type of the serialized message.

Protobuf library provides support to pack/unpack Any values in the form of utility functions or additional generated methods of the Any type.

Example 1: Pack and unpack a message in C++.

Foo foo = ...; Any any; any.PackFrom(foo); ... if (any.UnpackTo(&foo)) { ... }

Example 2: Pack and unpack a message in Java.

Foo foo = ...; Any any = Any.pack(foo); ... if (any.is(Foo.class)) { foo = any.unpack(Foo.class); } // or ... if (any.isSameTypeAs(Foo.getDefaultInstance())) { foo = any.unpack(Foo.getDefaultInstance()); }

Example 3: Pack and unpack a message in Python.

foo = Foo(...) any = Any() any.Pack(foo) ... if any.Is(Foo.DESCRIPTOR): any.Unpack(foo) ...

Example 4: Pack and unpack a message in Go

foo := &pb.Foo{...} any, err := anypb.New(foo) if err != nil { ... } ... foo := &pb.Foo{} if err := any.UnmarshalTo(foo); err != nil { ... }

The pack methods provided by protobuf library will by default use 'type.googleapis.com/full.type.name' as the type URL and the unpack methods only use the fully qualified type name after the last '/' in the type URL, for example "foo.bar.com/x/y.z" will yield type name "y.z".

JSON ==== The JSON representation of an Any value uses the regular representation of the deserialized, embedded message, with an additional field @type which contains the type URL. Example:

package google.profile; message Person { string first_name = 1; string last_name = 2; }

{ "@type": "type.googleapis.com/google.profile.Person", "firstName": , "lastName": }

If the embedded message type is well-known and has a custom JSON representation, that representation will be embedded adding a field value which holds the custom JSON in addition to the @type field. Example (for message [google.protobuf.Duration][]):

{ "@type": "type.googleapis.com/google.protobuf.Duration", "value": "1.212s" }

feeAsset.​lastSyncedAtstring(date-time)

When this asset was last synchronized

Example: "2024-08-08T10:22:22.420Z"
feeAsset.​syncVersioninteger(int32)

Version counter for sync updates

Example: 1
feeAsset.​contractAddressChecksummedstring

Checksummed version of the contract address

Example: "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
blockchainstring(Supported blockchains)required
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
destinationAddressstring

The destination address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
destinationobject(transactionsv2Address)
originAddressstringrequired

The origin address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
originobject(transactionsv2Address)required
origin.​idstring

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.​organizationIdstring

The organization ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​counterpartyIdstring

The counterparty ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​vaultIdstring

The vault ID

Example: "ce4918bf-a199-4ce2-85a3-d0d296855384"
origin.​typestring(transactionsv2AddressType)required
Enum"COUNTERPARTY""WALLET""EXTERNAL""ALLOW_ADDRESS"
origin.​addressstringrequired

The address

Example: "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4"
qtystringrequired

The quantity of the asset to transfer

Example: "155.672"
feeQtyLimitstring

The maximum network fee to pay for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
encodedTransactionstring

The encoded transaction. Maximum size is 200KB.

Example: "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080"
signOnlybooleanrequired

Whether to only sign the transaction, or also publish it to the blockchain

Example: "true"
configobject(v2XRPTransactionConfig)
freezeInfoobject(Freeze information for a transaction)required
freezeInfo.​isFrozenboolean

Whether the transaction is currently frozen

Example: false
freezeInfo.​historyArray of objects(Complete history of all freeze/unfreeze actions When is_frozen=true, the latest FREEZE action contains current freeze details)

History of all freeze/unfreeze actions. Latest entry contains current state details when frozen.

feeQtystring(======================== RESULT ============================)

The actual network fee for this transaction in base asset units (eg ETH for Ethereum)

Example: "155.672"
hashstring

The transaction hash

Example: "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signingHashstring

The transaction signing hash

Example: "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671"
signaturestring

The transaction signature

Example: "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43"
transactionTypestring

The transaction type

Example: "Payment"
reasonsArray of strings

The reasons for transaction failure

Example: ["unfunded"]
canonicalSignaturestring

The canonical transaction signature

Example: "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE"
signedTransactionstring

The signed transaction (multi-sign is not supported). Maximum size is 200KB.

Example: "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB"
proposedAssetChangesArray of objects(v2AssetChange)

Proposed asset changes

confirmedAssetChangesArray of objects(v2AssetChange)

Confirmed asset changes

signingPayloadsArray of objects(Multiple signing payloads for UTXO-based transactions (Bitcoin) Each payload represents one input that needs to be signed)

Multiple signing payloads for UTXO-based transactions, one per input

Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "attributes": { "property1": "string", "property2": "string" }, "status": "REQUESTED", "action": "DEPOSIT", "externalId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "correlationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "asset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "feeAsset": { "id": "5:0xbehbehfb:USDC", "standard": "NATIVE", "symbol": "LINK", "name": "Chainlink", "blockchain": "AVALANCHE", "decimals": 18, "vetted": true, "enabled": true, "contract": "0x0b9d5D9136855f6FEc3c0993feE6E9CE8a297846e", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "organizationId": "string", "coingeckoId": "ethereum", "source": "ASSET_SOURCE_LEGACY", "sourceMetadata": {}, "lastSyncedAt": "2024-08-08T10:22:22.420Z", "syncVersion": 1, "contractAddressChecksummed": "0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48" }, "blockchain": "AVALANCHE", "destinationAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "destination": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "originAddress": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4", "origin": { "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "counterpartyId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "type": "COUNTERPARTY", "address": "0x55502b9d5a68b0F8a48384352295BeD968aD8AA4" }, "qty": "155.672", "feeQtyLimit": "155.672", "sequence": "2", "encodedTransaction": "ed408505d21dba00825208942352d20fc81225c8ecd8f6faa1b37f24fed450c98089736f6d657468696e67808080", "signOnly": "true", "config": { "sourceTag": "123456", "destinationTag": "123456" }, "freezeInfo": { "isFrozen": false, "history": [] }, "feeQty": "155.672", "hash": "0x30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signingHash": "30674cddb3025f9681839c63d20357f54e914bd7a9ddfe53a6691f4a530a5671", "signature": "3046022100c60dc1337d69261e7c7e92e4dac78e0c317d444d4690be2b86cc53b1989d1b0602210090c63e3a5cf692c9387292451fada038a0e4d85a2f5c91ee1e7a635df0440b43", "transactionType": "Payment", "reasons": [ "unfunded" ], "canonicalSignature": "3045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE", "signedTransaction": "12000024002A8F37201B002A8F5561400000000098968068400000000000000A732103E0C61B861ADE7AC58D27D65ABCEF4C22FA874DD13D809E02A99609A8CA31892C74473045022100C60DC1337D69261E7C7E92E4DAC78E0C317D444D4690BE2B86CC53B1989D1B0602206F39C1C5A3096D36C78D6DBAE0525FC619CA048C7FEC0E4DA157FB2EDFF235FE8114EC8E7F9FF5C9B157D55890956376D15740FAE943831451FE87A95FA6CAC3EBEF33387DE8225F7D0352CB", "proposedAssetChanges": [ {} ], "confirmedAssetChanges": [ {} ], "signingPayloads": [ {} ] }

Transactions - XRP

Used to manage XRP specific transactions

Operations

Users

Used to manage users

Operations

Vaults

Used to manage vaults

Operations

Vault Tags

Used to manage vault tags

Operations

Wallets

Used to manage wallets

Operations

Wallet Tags

Used to manage wallet tags

Operations

Wallet Connect

Used to manage connections

Operations

Webhooks

Used to manage webhooks

Operations

Registry

Operations

Transactions - Sweep

Operations

Sweep Instances

Operations