This page lists the Sui-specific API fields, limits, and errors in Ripple Custody. For procedures, see Set up Sui with the API and Send and receive Sui assets with the API.
v0_CreateLedger and v0_UpdateLedger take the following parameters for a Sui ledger. You must provide every field.
| Field | Type | Description |
|---|---|---|
type | string | Sui |
nativeTickerName | string, 1–100 characters | The display name of the native currency. |
nativeTickerSymbol | string, 1–100 characters | The symbol of the native currency. |
A Sui ticker's ledgerDetails has type set to Sui and a properties object of one of the following types.
properties.type | Asset | Other fields |
|---|---|---|
Native | SUI | None. |
Coin | Any other Sui coin | coinType (string): the coin's Move type tag, in the form 0x<package>::<module>::<name>, without generic type parameters. |
For a Sui transaction order, parameters has the following fields.
| Field | Type | Required | Description |
|---|---|---|---|
type | string | Yes | Sui |
operation | object | Yes | A NativeTransfer or CoinTransfer operation. |
feeStrategy | object | Yes | {"type": "Priority", "priority": "Low" | "Medium" | "High"}. The tier has no effect on Sui. We recommend Low. |
maximumFee | string | No | The maximum fee, in MIST, as an integer string. |
validityEpochs | integer, 1–14 | No | The number of epochs, about 24 hours each, that the transaction stays valid after preparation. Defaults to the network setting. |
| Operation | Field | Type | Required | Description |
|---|---|---|---|---|
NativeTransfer | type | string | Yes | NativeTransfer |
destination | object | Yes | The recipient: an Address, Account, or Endpoint destination. | |
amount | string | Yes | The amount in MIST, as a non-negative integer string. | |
CoinTransfer | type | string | Yes | CoinTransfer |
destination | object | Yes | Same as NativeTransfer. | |
amount | string | Yes | The amount in the coin's smallest unit, as a non-negative integer string. | |
coinType | string | Yes | The coin's Move type tag. |
A dry run of a Sui order returns an estimate with type set to Sui:
| Field | Type | Description |
|---|---|---|
fee | string | The gas budget, in MIST. The sending account must hold at least this amount of SUI. |
storageRebate | string | The storage fee that the network refunds, in MIST. |
0x followed by 64 hexadecimal characters, 66 characters in total. The address is the BLAKE2b-256 hash of the signature scheme flag and the account's Ed25519 public key.
| Limit | Value |
|---|---|
| Decimal places for SUI | 9 (1 SUI = 1,000,000,000 MIST) |
| Validity window | 1 to 14 epochs |
| Epoch length | About 24 hours |
| Confirmations | 1 checkpoint |
| Symptom | Cause | Resolution |
|---|---|---|
A dry run or order fails with InvalidDestination for a regulated coin. | The recipient is on the coin's deny list, or will be in the next epoch. | Don't send the coin to this recipient. Contact the coin's issuer if you think the entry is wrong. |
An order fails with InvalidDestination for another reason. | The address isn't a valid Sui address. | Check that the address is 0x followed by 64 hexadecimal characters. |
| An order fails for insufficient funds when you send a coin. | The account doesn't hold enough SUI for the gas budget. | Send SUI to the account, and then submit the order again. |
An order has the Expired status. | The network didn't finalize the transaction before its expiration epoch. | Submit a new order. For long signing flows, set a larger validityEpochs. |
| An incoming transfer of a new coin doesn't appear. | Ripple Custody couldn't read the coin's on-chain metadata. | Contact your Ripple liaison. |
To check on-chain state independently of Ripple Custody, look up the address or transaction digest in a Sui explorer, such as SuiScan or SuiVision.