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

Transactions - XRP

Used to manage XRP specific transactions

Operations

Create a new XRP Account Set transaction

Request

Create a new XRP Account Set transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
setFlagstring(transactionsv2AccountSetFlag)
Enum"ACCOUNT_TXN_ID""ALLOW_TRUSTLINE_CLAWBACK""AUTHZ_NFTOKEN_MINTER""DEFAULT_RIPPLE""DEPOSIT_AUTH""DISABLE_MASTER""DISALLOW_INCOMING_CHECK""DISALLOW_INCOMING_PAY_CHAN""DISALLOW_INCOMING_TRUSTLINE""DISALLOW_XRP"
clearFlagstring(transactionsv2AccountSetFlag)
Enum"ACCOUNT_TXN_ID""ALLOW_TRUSTLINE_CLAWBACK""AUTHZ_NFTOKEN_MINTER""DEFAULT_RIPPLE""DEPOSIT_AUTH""DISABLE_MASTER""DISALLOW_INCOMING_CHECK""DISALLOW_INCOMING_PAY_CHAN""DISALLOW_INCOMING_TRUSTLINE""DISALLOW_XRP"
domainstring

Hex encoded string representing domain that owns this account in ASCII, less than 256 chars. Set empty to unset.

Example: "6578616d706c652e636f6d"
emailHashstring

Hex encoded 128-bit hash bytes of the email address representing this account. Set empty to unset.

Example: "7e0ded033511a87ad8d04d5dfae1fcad"
messageKeystring

33-byte public key for sending encrypted messages to this account. First byte must be one of (0x02, 0x03, 0xED). Set empty to unset.

Example: "032CC3AFAD020F8E69DFEC08A45D303CE9E1693EB89DE0E268ADB6D7E93F19B7DF"
nfTokenMinterstring

Address of another account that can mint NFTokens for this account

Example: "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6"
transferRateinteger(int64)

Fee to charge when users transfer tokens issued by this account, represented as billionths of a unit between 1000000000 and 2000000000 or 0.

Example: 1800000000
tickSizeinteger(int64)

Tick size to use for offers involving a currency issued by this address, must be 3 to 15 (inclusive) or 0

Example: 4
walletLocatorstring

An arbitrary 256-bit hash value to associate with this account

Example: "678e749011f8a911f011e105c618db898a71f8759929cc9a9ebcfe7b125870ee"
walletSizeinteger(int64)

Unused field to associate on the account

Example: 3
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/account-set' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "setFlag": "ACCOUNT_TXN_ID",
    "clearFlag": "ACCOUNT_TXN_ID",
    "domain": "6578616d706c652e636f6d",
    "emailHash": "7e0ded033511a87ad8d04d5dfae1fcad",
    "messageKey": "032CC3AFAD020F8E69DFEC08A45D303CE9E1693EB89DE0E268ADB6D7E93F19B7DF",
    "nfTokenMinter": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
    "transferRate": 1800000000,
    "tickSize": 4,
    "walletLocator": "678e749011f8a911f011e105c618db898a71f8759929cc9a9ebcfe7b125870ee",
    "walletSize": 3,
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP AMM Create transaction

Request

Create a new XRP AMM Create transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
amountobject(transactionsv2CurrencyAmount)required
amount.​valuestringrequired

The quantity of the asset

Example: "155.672"
amount.​assetstringrequired

The asset symbol

Example: "USD"
amount.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
amount2object(transactionsv2CurrencyAmount)required
amount2.​valuestringrequired

The quantity of the asset

Example: "155.672"
amount2.​assetstringrequired

The asset symbol

Example: "USD"
amount2.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
tradingFeeinteger(int64)required

The fee to charge for trades against this AMM instance, in units of 1/100,000

Example: 1000
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-create' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "amount2": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "tradingFee": 1000,
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP AMM Deposit transaction

Request

Create a new XRP AMM Deposit transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
assetobject(transactionsv2Asset)required
asset.​assetstringrequired

The asset symbol

Example: "USD"
asset.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
amountobject(transactionsv2CurrencyAmount)
asset2object(transactionsv2Asset)required
asset2.​assetstringrequired

The asset symbol

Example: "USD"
asset2.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
amount2object(transactionsv2CurrencyAmount)
ePriceobject(transactionsv2CurrencyAmount)
lpTokenOutobject(transactionsv2CurrencyAmount)
tradingFeeinteger(int64)

Submit a vote for the AMM's trading fee, in units of 1/100,000

Example: 1000
flagsstring(transactionsv2AMMDepositFlag)
Enum"DEPOSIT_LP_TOKEN""DEPOSIT_SINGLE_ASSET""DEPOSIT_TWO_ASSET""DEPOSIT_ONE_ASSET_LP_TOKEN""DEPOSIT_LIMIT_LP_TOKEN""DEPOSIT_TWO_ASSET_IF_EMPTY"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-deposit' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "asset": {
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "amount": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "asset2": {
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "amount2": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "ePrice": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "lpTokenOut": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "tradingFee": 1000,
    "flags": "DEPOSIT_LP_TOKEN",
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP AMM Withdraw transaction

Request

Create a new XRP AMM Withdraw transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
assetobject(transactionsv2Asset)required
asset.​assetstringrequired

The asset symbol

Example: "USD"
asset.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
amountobject(transactionsv2CurrencyAmount)
asset2object(transactionsv2Asset)required
asset2.​assetstringrequired

The asset symbol

Example: "USD"
asset2.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
amount2object(transactionsv2CurrencyAmount)
ePriceobject(transactionsv2CurrencyAmount)
lpTokenInobject(transactionsv2CurrencyAmount)
flagsstring(transactionsv2AMMWithdrawFlag)
Enum"WITHDRAW_LP_TOKEN""WITHDRAW_WITHDRAW_ALL""WITHDRAW_ONE_ASSET_WITHDRAW_ALL""WITHDRAW_SINGLE_ASSET""WITHDRAW_TWO_ASSET""WITHDRAW_ONE_ASSET_LP_TOKEN""WITHDRAW_LIMIT_LP_TOKEN"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/amm-withdraw' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "asset": {
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "amount": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "asset2": {
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "amount2": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "ePrice": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "lpTokenIn": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "flags": "WITHDRAW_LP_TOKEN",
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP Clawback transaction

Request

Create a new XRP Clawback transaction to recover issued tokens

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
amountobject(transactionsv2CurrencyAmount)required
amount.​valuestringrequired

The quantity of the asset

Example: "155.672"
amount.​assetstringrequired

The asset symbol

Example: "USD"
amount.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
holderstring

Optional holder address for MPTokens

Example: "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/clawback' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "amount": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "holder": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP Offer Cancel transaction

Request

Create a new XRP Offer Cancel transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
offerSequencestring(uint64)required

Sequence of offer to cancel

Example: "2"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/offer-cancel' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "offerSequence": "2",
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP Offer Create transaction

Request

Create a new XRP Offer Create transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
expirationstring(uint64)

Unix timestamp after which this offer is no longer active

Example: "1885634315"
offerSequencestring(uint64)

Sequence of offer to delete first, specified in the same way as OfferCancel

Example: "2"
takerGetsobject(transactionsv2CurrencyAmount)required
takerGets.​valuestringrequired

The quantity of the asset

Example: "155.672"
takerGets.​assetstringrequired

The asset symbol

Example: "USD"
takerGets.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
takerPaysobject(transactionsv2CurrencyAmount)required
takerPays.​valuestringrequired

The quantity of the asset

Example: "155.672"
takerPays.​assetstringrequired

The asset symbol

Example: "USD"
takerPays.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
flagsArray of strings(transactionsv2OfferCreateFlags)

Configuration flags

Items Enum"PASSIVE""IMMEDIATE_OR_CANCEL""FILL_OR_KILL""SELL"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/offer-create' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "expiration": "1885634315",
    "offerSequence": "2",
    "takerGets": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "takerPays": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "flags": [
      "PASSIVE"
    ],
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP SignerList Set transaction

Request

Create a new XRP SignerList Set transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
signerQuoruminteger(int64)required

Minimum sum of weights required in order to authorise a transaction. Sum of all weights of individual signers must be greater than or equal to this value.

Example: 3
signerEntriesArray of objects(transactionsv2SignerEntry)

List of signers. Leave empty with signerQuorum set to 0 to disable.

sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/signer-list-set' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "signerQuorum": 3,
    "signerEntries": [
      {
        "account": "rGgKM3hTn8MBMGgiiPMbz73VEkSBocqab6",
        "signerWeight": 2
      }
    ],
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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 XRP Trust Set transaction

Request

Create a new XRP Trust Set transaction

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
limitAmountobject(transactionsv2CurrencyAmount)required
limitAmount.​valuestringrequired

The quantity of the asset

Example: "155.672"
limitAmount.​assetstringrequired

The asset symbol

Example: "USD"
limitAmount.​issuerstring

The contract/issuing address. Optional if asset is XRP.

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
qualityIninteger(int64)

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

Example: 0
qualityOutinteger(int64)

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

Example: 0
flagsArray of strings(transactionsv2TrustSetFlag)

Configuration flags

Items Enum"SETF_AUTH""SET_NORIPPLE""UNSET_NORIPPLE""SET_FREEZE""UNSET_FREEZE""SET_DEEP_FREEZE""UNSET_DEEP_FREEZE"
sequencestring(uint64)

The blockchain nonce/sequence to use

Example: "2"
lastLedgerSequencestring(uint64)

Highest ledger index this transaction can appear in.

Example: "123456"
sourceTagstring(uint64)

Source tag to use for this transaction

Example: "123456"
curl -i -X POST \
  'https://docs.ripple.com/_mock/products/palisade/api-docs/palisade-api/palisade-api-1/v2/vaults/{vaultId}/wallets/{walletId}/transactions/xrp/trust-set' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "limitAmount": {
      "value": "155.672",
      "asset": "USD",
      "issuer": "0xdAC17F958D2ee523a2206206994597C13D831ec7"
    },
    "qualityIn": 0,
    "qualityOut": 0,
    "flags": [
      "SETF_AUTH"
    ],
    "sequence": "2",
    "lastLedgerSequence": "123456",
    "sourceTag": "123456"
  }'

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": [ {} ] }

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