Skip to content

unsafe_payAllSui ​

Transaction Builder API

Send all SUI coins to one recipient. This is for SUI coin only and does not require a separate gas coin object. Specifically, what pay_all_sui does are: 1. accumulate all SUI from input coins and deposit all SUI to the first input coin 2. transfer the updated first coin to the recipient and also use this first coin as gas coin object. 3. the balance of the first input coin after tx is sum(input_coins) - actual_gas_cost. 4. all other input coins other than the first are deleted.

Parameters ​

  • signer · SuiAddress · requiredthe transaction signer's Sui address
  • input_coins · ObjectID[] · requiredthe Sui coins to be used in this transaction, including the coin for gas payment.
  • recipient · SuiAddress · requiredthe recipient address,
  • gas_budget · BigInt<u64> · requiredthe gas budget, the transaction will fail if the gas cost exceed the budget

Result ​

  • TransactionBlockBytes · TransactionBlockBytes

    • gas · ObjectRef[] · requiredthe gas objects to be used
    • inputObjects · InputObjectKind[] · requiredobjects to be used in this transaction
    • txBytes · Base64 · requiredBCS serialized transaction data bytes without its type tag, as base-64 encoded string.

Example ​

Replace each <param> with a value of the type listed under Parameters.

Request ​

bash
curl https://mainnet-api.inodra.com/v1/jsonrpc \
  -H 'Content-Type: application/json' \
  -H 'x-api-key: YOUR_API_KEY' \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "unsafe_payAllSui",
  "params": [
    "<signer>",
    "<input_coins>",
    "<recipient>",
    "<gas_budget>"
  ]
}'

The full-stack Sui data layer.