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/wallet/api-docs/palisade-api/palisade-api
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
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations

Used to view information about the platform

Operations
Operations
Operations
Operations
Operations
Operations

Request

List all wallet limits within the organization

Security
TokenAuth
Query
pageSizeinteger(int32)

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

pageTokenstring

The token to retrieve the next page of results

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/wallet/api-docs/palisade-api/palisade-api/v2/policy-rules/limits?pageSize=0&pageToken=string' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

A successful response.

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

Request

List wallet limit policies for the specified wallet

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Query
pageSizeinteger(int32)

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

pageTokenstring

The token to retrieve the next page of results

blockchainstring

Optional filter by blockchain. If not specified, returns policies for all blockchains.

Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
curl -i -X GET \
  'https://docs.ripple.com/_mock/products/wallet/api-docs/palisade-api/palisade-api/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits?pageSize=0&pageToken=string&blockchain=AVALANCHE' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

A successful response.

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

Request

Create a wallet limit policy for the specified wallet

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Bodyapplication/jsonrequired
limitQtystringrequired

The limit quantity

Example: "200.00"
durationstring

The limit duration

Example: "200s"
limitTypestring(v2LimitType)required
Enum"PER_TX""CONSTANT""ROLLING_DURATION"
contractstring

The contract/issuing address

Example: "0xdAC17F958D2ee523a2206206994597C13D831ec7"
symbolstringrequired

The asset symbol

Example: "USD"
matchersArray of objects(v2Matcher)
blockchainstring(v2Blockchain)
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
curl -i -X PUT \
  'https://docs.ripple.com/_mock/products/wallet/api-docs/palisade-api/palisade-api/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits' \
  -H 'Authorization: YOUR_API_KEY_HERE' \
  -H 'Content-Type: application/json' \
  -d '{
    "limitQty": "200.00",
    "duration": "200s",
    "limitType": "PER_TX",
    "contract": "0xdAC17F958D2ee523a2206206994597C13D831ec7",
    "symbol": "USD",
    "matchers": [
      {
        "type": "USER",
        "value": "string",
        "values": [
          "string"
        ]
      }
    ],
    "blockchain": "AVALANCHE"
  }'

Responses

Bodyapplication/json
idstringrequired

The wallet limit policy ID

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

The creator ID

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

The organization 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"
limitQtystring

The limit quantity

Example: "200.00"
durationstring

The limit duration

Example: "200s"
limitTypestring(v2LimitType)required
Enum"PER_TX""CONSTANT""ROLLING_DURATION"
createdAtstring(date-time)required

The date and time the wallet limit policy was created

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

The date and time the wallet limit policy was updated

Example: "2022-03-29T10:22:22.420Z"
assetobject(commonv2Asset)required
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(v2Standard)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(v2Blockchain)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(v2AssetSource)
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)
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"
matchersArray of objects(v2Matcher)
statusstring(v2WalletLimitStatus)required
Enum"LIMIT_CREATED""LIMIT_ENABLED""LIMIT_REJECTED""LIMIT_DELETED""LIMIT_ERROR""LIMIT_CREATION_APPROVAL_PENDING""LIMIT_CREATION_APPROVAL_COMPLETE""LIMIT_DELETION_APPROVAL_PENDING""LIMIT_DELETION_APPROVAL_COMPLETE"
activebooleanrequired

Whether the limit is active

Example: true
blockchainstring(v2Blockchain)
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "limitQty": "200.00", "duration": "200s", "limitType": "PER_TX", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "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" }, "matchers": [ {} ], "status": "LIMIT_CREATED", "active": true, "blockchain": "AVALANCHE" }

Request

Get the specified wallet limit policy

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

idstringrequired

The wallet limit policy ID

curl -i -X GET \
  'https://docs.ripple.com/_mock/products/wallet/api-docs/palisade-api/palisade-api/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits/{id}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

Bodyapplication/json
idstringrequired

The wallet limit policy ID

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

The creator ID

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

The organization 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"
limitQtystring

The limit quantity

Example: "200.00"
durationstring

The limit duration

Example: "200s"
limitTypestring(v2LimitType)required
Enum"PER_TX""CONSTANT""ROLLING_DURATION"
createdAtstring(date-time)required

The date and time the wallet limit policy was created

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

The date and time the wallet limit policy was updated

Example: "2022-03-29T10:22:22.420Z"
assetobject(commonv2Asset)required
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(v2Standard)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(v2Blockchain)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(v2AssetSource)
Enum"ASSET_SOURCE_LEGACY""ASSET_SOURCE_AUTO""ASSET_SOURCE_COINGECKO""ASSET_SOURCE_PALISADE""ASSET_SOURCE_CUSTOMER"
asset.​sourceMetadataobject(protobufAny)
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"
matchersArray of objects(v2Matcher)
statusstring(v2WalletLimitStatus)required
Enum"LIMIT_CREATED""LIMIT_ENABLED""LIMIT_REJECTED""LIMIT_DELETED""LIMIT_ERROR""LIMIT_CREATION_APPROVAL_PENDING""LIMIT_CREATION_APPROVAL_COMPLETE""LIMIT_DELETION_APPROVAL_PENDING""LIMIT_DELETION_APPROVAL_COMPLETE"
activebooleanrequired

Whether the limit is active

Example: true
blockchainstring(v2Blockchain)
Enum"AVALANCHE""ETHEREUM""XRP_LEDGER""POLYGON""BNBCHAIN""BASE""HEDERA""ARBITRUM""ONE_MONEY""SOLANA"
Response
application/json
{ "id": "ce4918bf-a199-4ce2-85a3-d0d296855384", "createdBy": "ce4918bf-a199-4ce2-85a3-d0d296855384", "organizationId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "walletId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "vaultId": "ce4918bf-a199-4ce2-85a3-d0d296855384", "limitQty": "200.00", "duration": "200s", "limitType": "PER_TX", "createdAt": "2022-03-29T10:22:22.420Z", "updatedAt": "2022-03-29T10:22:22.420Z", "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" }, "matchers": [ {} ], "status": "LIMIT_CREATED", "active": true, "blockchain": "AVALANCHE" }

Request

Delete the specified wallet limit policy

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

idstringrequired

The wallet limit policy ID

curl -i -X DELETE \
  'https://docs.ripple.com/_mock/products/wallet/api-docs/palisade-api/palisade-api/v2/vaults/{vaultId}/wallets/{walletId}/policy-rules/limits/{id}' \
  -H 'Authorization: YOUR_API_KEY_HERE'

Responses

A successful response.

Bodyapplication/json
object(v2DeleteWalletLimitResponse)
Response
application/json
{}

Request

List all permitted destinations for this wallet

Security
TokenAuth
Path
vaultIdstringrequired

The vault ID

walletIdstringrequired

The wallet ID

Query
pageSizeinteger(int32)

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

pageTokenstring

The token to retrieve the next page of results

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

Responses

A successful response.

Bodyapplication/json
filterobject(v2FilterResponse)
destinationsArray of objects(v2Destination)
Response
application/json
{ "filter": { "previousPageToken": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=", "nextPageToken": "cGFnZV9zaXplPTEwJnBhZ2VfdG9rZW49MjA=", "total": 100 }, "destinations": [ {} ] }
Operations

Used to manage sweep configurations

Operations
Operations
Operations

Used to manage XRP specific transactions

Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations
Operations