diff --git a/content/api/grpc.md b/content/api/grpc.md
index ff41805..7e62d0e 100644
--- a/content/api/grpc.md
+++ b/content/api/grpc.md
@@ -168,33 +168,33 @@ For seamless integration with Pactus, you can use these client libraries:
UnloadWallet
-
- GetTotalBalance
-
-
-
- SignRawTransaction
+
+ ListWallets
-
- GetValidatorAddress
+
+ GetWalletInfo
-
- GetNewAddress
+
+ IsWalletLoaded
-
- GetAddressHistory
+
+ UpdatePassword
-
- SignMessage
+
+ GetTotalBalance
GetTotalStake
+
+
+ GetValidatorAddress
+
GetAddressInfo
@@ -204,16 +204,24 @@ For seamless integration with Pactus, you can use these client libraries:
SetAddressLabel
-
- ListWallet
+
+ GetNewAddress
-
- GetWalletInfo
+
+ ListAddresses
+
+
+
+ SignMessage
+
+
+
+ SignRawTransaction
-
- ListAddress
+
+ ListTransactions
@@ -510,6 +518,29 @@ For seamless integration with Pactus, you can use these client libraries:
The signature for the transaction.
|
+
+
+ | transaction.block_height |
+ uint32 |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | transaction.confirmed |
+ bool |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | transaction.confirmations |
+ int32 |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -1251,6 +1282,29 @@ For seamless integration with Pactus, you can use these client libraries:
The signature for the transaction.
|
+
+
+ | transaction.block_height |
+ uint32 |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | transaction.confirmed |
+ bool |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | transaction.confirmations |
+ int32 |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -1643,6 +1697,29 @@ BLOCK_VERBOSITY_TRANSACTIONS.
The signature for the transaction.
|
+
+
+ | txs[].block_height |
+ uint32 |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ bool |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ int32 |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -2672,6 +2749,29 @@ Message has no fields.
The signature for the transaction.
|
+
+
+ | txs[].block_height |
+ uint32 |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ bool |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ int32 |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -3369,6 +3469,13 @@ signing, verification, and other cryptographic operations.
+ | wallet_name |
+ string |
+
+ The name for the new wallet.
+ |
+
+
| mnemonic |
string |
@@ -3503,11 +3610,12 @@ signing, verification, and other cryptographic operations.
|
-#### GetTotalBalance
+#### ListWallets
-GetTotalBalance returns the total available balance of the wallet.
+ListWallets returns a list of all available wallets.
+If `include_unloaded` is set, it returns both loaded and unloaded wallets.
-GetTotalBalanceRequest Request
+ListWalletsRequest Request
@@ -3515,15 +3623,15 @@ signing, verification, and other cryptographic operations.
- | wallet_name |
- string |
+ include_unloaded |
+ bool |
- The name of the wallet to get the total balance.
+ Whether to include wallets that exist on disk but are not currently loaded.
|
- GetTotalBalanceResponse Response
+ ListWalletsResponse Response
@@ -3531,27 +3639,20 @@ signing, verification, and other cryptographic operations.
- | wallet_name |
- string |
-
- The name of the queried wallet.
- |
-
-
- | total_balance |
- int64 |
+ wallets |
+ repeated string |
- The total balance of the wallet in NanoPAC.
+ Array of wallet names.
|
-#### SignRawTransaction
+#### GetWalletInfo
-SignRawTransaction signs a raw transaction for a specified wallet.
+GetWalletInfo returns detailed information about a specific wallet.
-SignRawTransactionRequest Request
+GetWalletInfoRequest Request
@@ -3562,26 +3663,12 @@ signing, verification, and other cryptographic operations.
| wallet_name |
string |
- The name of the wallet used for signing.
- |
-
-
- | raw_transaction |
- string |
-
- The raw transaction data to be signed.
- |
-
-
- | password |
- string |
-
- Wallet password required for signing.
+ The name of the wallet to query.
|
- SignRawTransactionResponse Response
+ GetWalletInfoResponse Response
@@ -3589,27 +3676,76 @@ signing, verification, and other cryptographic operations.
- | transaction_id |
+ wallet_name |
string |
- The ID of the signed transaction.
+ The name of the wallet.
|
- | signed_raw_transaction |
+ version |
+ int32 |
+
+ The wallet format version.
+ |
+
+
+ | network |
string |
- The signed raw transaction data.
+ The network the wallet is connected to (e.g., mainnet, testnet).
+ |
+
+
+ | encrypted |
+ bool |
+
+ Indicates if the wallet is encrypted.
+ |
+
+
+ | uuid |
+ string |
+
+ A unique identifier of the wallet.
+ |
+
+
+ | created_at |
+ int64 |
+
+ Unix timestamp of wallet creation.
+ |
+
+
+ | default_fee |
+ int64 |
+
+ The default fee of the wallet.
+ |
+
+
+ | driver |
+ string |
+
+ The storage driver used by the wallet (e.g., SQLite, Legacy JSON ).
+ |
+
+
+ | path |
+ string |
+
+ Path to the wallet file or storage location.
|
-#### GetValidatorAddress
+#### IsWalletLoaded
-GetValidatorAddress retrieves the validator address associated with a public key.
+IsWalletLoaded checks whether the specified wallet is currently loaded.
-GetValidatorAddressRequest Request
+IsWalletLoadedRequest Request
@@ -3617,15 +3753,15 @@ signing, verification, and other cryptographic operations.
- | public_key |
+ wallet_name |
string |
- The public key of the validator.
+ Name of the wallet to check.
|
- GetValidatorAddressResponse Response
+ IsWalletLoadedResponse Response
@@ -3633,20 +3769,27 @@ signing, verification, and other cryptographic operations.
- | address |
+ wallet_name |
string |
- The validator address associated with the public key.
+ Name of the wallet.
+ |
+
+
+ | loaded |
+ bool |
+
+ True if the wallet is currently loaded.
|
-#### GetNewAddress
+#### UpdatePassword
-GetNewAddress generates a new address for the specified wallet.
+UpdatePassword updates the password of an existing wallet.
-GetNewAddressRequest Request
+UpdatePasswordRequest Request
@@ -3657,41 +3800,47 @@ signing, verification, and other cryptographic operations.
| wallet_name |
string |
- The name of the wallet to generate a new address.
+ The name of the wallet whose password will be updated.
|
- | address_type |
- AddressType |
+ old_password |
+ string |
- (Enum)The type of address to generate.
- Available values:
- - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
-Should not be used to generate new addresses.)
- - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
- - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
- - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
-Note: Generating a new Ed25519 address requires the wallet password.)
-
+ The current wallet password.
|
- | label |
+ new_password |
string |
- A label for the new address.
+ The new wallet password.
|
+
+
+ UpdatePasswordResponse Response
+
+
+
+ | Field | Type | Description |
+
+
- | password |
+ wallet_name |
string |
- Password for the new address. It's required when address_type is Ed25519 type.
+ The name of the wallet whose password was updated.
|
-
+
- GetNewAddressResponse Response
+
+#### GetTotalBalance
+
+GetTotalBalance returns the total available balance of the wallet.
+
+GetTotalBalanceRequest Request
@@ -3702,52 +3851,12 @@ Note: Generating a new Ed25519 address requires the wallet password.)
| wallet_name |
string |
- The name of the wallet where address was generated.
+ The name of the wallet to get the total balance.
|
-
- | address_info |
- AddressInfo |
-
- Detailed information about the new address.
- |
-
-
- | address_info.address |
- string |
-
- The address string.
- |
-
-
- | address_info.public_key |
- string |
-
- The public key associated with the address.
- |
-
-
- | address_info.label |
- string |
-
- A human-readable label associated with the address.
- |
-
-
- | address_info.path |
- string |
-
- The Hierarchical Deterministic (HD) path of the address within the wallet.
- |
-
-
+
-
-#### GetAddressHistory
-
-GetAddressHistory retrieves the transaction history of an address.
-
-GetAddressHistoryRequest Request
+ GetTotalBalanceResponse Response
@@ -3758,75 +3867,24 @@ Note: Generating a new Ed25519 address requires the wallet password.)
| wallet_name |
string |
- The name of the wallet containing the address.
- |
-
-
- | address |
- string |
-
- The address to retrieve history for.
+ The name of the queried wallet.
|
-
-
- GetAddressHistoryResponse Response
-
-
-
- | Field | Type | Description |
-
-
-
- | history_info |
- repeated HistoryInfo |
+
+ | total_balance |
+ int64 |
- List of all historical transactions associated with the address.
+ The total balance of the wallet in NanoPAC.
|
-
- | history_info[].transaction_id |
- string |
-
- The transaction ID in hexadecimal format.
- |
-
-
- | history_info[].time |
- uint32 |
-
- Unix timestamp of when the transaction was confirmed.
- |
-
-
- | history_info[].payload_type |
- string |
-
- The type of transaction payload.
- |
-
-
- | history_info[].description |
- string |
-
- Human-readable description of the transaction.
- |
-
-
- | history_info[].amount |
- int64 |
-
- The transaction amount in NanoPAC.
- |
-
-
+
-#### SignMessage
+#### GetTotalStake
-SignMessage signs an arbitrary message using a wallet's private key.
+GetTotalStake returns the total stake amount in the wallet.
-SignMessageRequest Request
+GetTotalStakeRequest Request
@@ -3837,33 +3895,12 @@ Note: Generating a new Ed25519 address requires the wallet password.)
| wallet_name |
string |
- The name of the wallet to sign with.
- |
-
-
- | password |
- string |
-
- Wallet password required for signing.
- |
-
-
- | address |
- string |
-
- The address whose private key should be used for signing the message.
- |
-
-
- | message |
- string |
-
- The arbitrary message to be signed.
+ The name of the wallet to get the total stake.
|
- SignMessageResponse Response
+ GetTotalStakeResponse Response
@@ -3871,20 +3908,28 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | signature |
+ wallet_name |
string |
- The signature in hexadecimal format.
+ The name of the queried wallet.
+ |
+
+
+ | total_stake |
+ int64 |
+
+ The total stake amount in NanoPAC.
|
-#### GetTotalStake
+#### GetValidatorAddress
-GetTotalStake returns the total stake amount in the wallet.
+GetValidatorAddress retrieves the validator address associated with a public key.
+Deprecated: Will move into utils.
-GetTotalStakeRequest Request
+GetValidatorAddressRequest Request
@@ -3892,15 +3937,15 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | wallet_name |
+ public_key |
string |
- The name of the wallet to get the total stake.
+ The public key of the validator.
|
- GetTotalStakeResponse Response
+ GetValidatorAddressResponse Response
@@ -3908,17 +3953,10 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | wallet_name |
+ address |
string |
- The name of the queried wallet.
- |
-
-
- | total_stake |
- int64 |
-
- The total stake amount in NanoPAC.
+ The validator address associated with the public key.
|
@@ -3966,34 +4004,41 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | address |
- string |
-
- The queried address.
- |
-
-
- | label |
- string |
-
- The address label.
- |
-
-
- | public_key |
- string |
+ address_info |
+ AddressInfo |
- The public key of the address.
+ Detailed information about the address.
|
- | path |
- string |
-
- The Hierarchical Deterministic (HD) path of the address.
- |
-
-
+ address_info.address |
+ string |
+
+ The address string.
+ |
+
+
+ | address_info.public_key |
+ string |
+
+ The public key associated with the address.
+ |
+
+
+ | address_info.label |
+ string |
+
+ A human-readable label associated with the address.
+ |
+
+
+ | address_info.path |
+ string |
+
+ The Hierarchical Deterministic (HD) path of the address within the wallet.
+ |
+
+
#### SetAddressLabel
@@ -4039,43 +4084,40 @@ Note: Generating a new Ed25519 address requires the wallet password.)
SetAddressLabelResponse Response
-
-
- | Field | Type | Description |
-
-
-
-
-
-#### ListWallet
-
-ListWallet returns a list of all available wallets.
-
-ListWalletRequest Request
-
-Message has no fields.
- ListWalletResponse Response
-
| Field | Type | Description |
- | wallets |
- repeated string |
+ wallet_name |
+ string |
- Array of wallet names.
+ The name of the wallet where the address label was updated.
+ |
+
+
+ | address |
+ string |
+
+ The address where the label was updated.
+ |
+
+
+ | label |
+ string |
+
+ The new label for the address.
|
-#### GetWalletInfo
+#### GetNewAddress
-GetWalletInfo returns detailed information about a specific wallet.
+GetNewAddress generates a new address for the specified wallet.
-GetWalletInfoRequest Request
+GetNewAddressRequest Request
@@ -4086,75 +4128,97 @@ Message has no fields.
| wallet_name |
string |
- The name of the wallet to query.
+ The name of the wallet to generate a new address.
|
-
-
- GetWalletInfoResponse Response
-
-
-
- | Field | Type | Description |
-
-
- | wallet_name |
- string |
+ address_type |
+ AddressType |
- The name of the wallet to query.
- |
-
-
- | version |
- int32 |
-
- The wallet format version.
+ (Enum)The type of address to generate.
+ Available values:
+ - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
+Should not be used to generate new addresses.)
+ - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
+ - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
+ - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
+Note: Generating a new Ed25519 address requires the wallet password.)
+
|
-
- | network |
+
+ | label |
string |
- The network the wallet is connected to (e.g., mainnet, testnet).
+ A label for the new address.
|
-
- | encrypted |
- bool |
+
+ | password |
+ string |
- Indicates if the wallet is encrypted.
+ Password for the new address. It's required when address_type is Ed25519 type.
|
-
- | uuid |
+
+
+ GetNewAddressResponse Response
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
string |
- A unique identifier of the wallet.
+ The name of the wallet where address was generated.
|
- | created_at |
- int64 |
+ address_info |
+ AddressInfo |
- Unix timestamp of wallet creation.
+ Detailed information about the new address.
|
- | default_fee |
- int64 |
-
- The default fee of the wallet.
- |
-
-
+ address_info.address |
+ string |
+
+ The address string.
+ |
+
+
+ | address_info.public_key |
+ string |
+
+ The public key associated with the address.
+ |
+
+
+ | address_info.label |
+ string |
+
+ A human-readable label associated with the address.
+ |
+
+
+ | address_info.path |
+ string |
+
+ The Hierarchical Deterministic (HD) path of the address within the wallet.
+ |
+
+
-#### ListAddress
+#### ListAddresses
-ListAddress returns all addresses in the specified wallet.
+ListAddresses returns all addresses in the specified wallet.
-ListAddressRequest Request
+ListAddressesRequest Request
@@ -4168,9 +4232,24 @@ Message has no fields.
The name of the queried wallet.
+
+ | address_types |
+ repeated AddressType |
+
+ (Enum)Filter addresses by their types. If empty, all address types are included.
+ Available values:
+ - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
+Should not be used to generate new addresses.)
+ - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
+ - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
+ - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
+Note: Generating a new Ed25519 address requires the wallet password.)
+
+ |
+
- ListAddressResponse Response
+ ListAddressesResponse Response
@@ -4222,6 +4301,453 @@ Message has no fields.
+#### SignMessage
+
+SignMessage signs an arbitrary message using a wallet's private key.
+
+SignMessageRequest Request
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet to sign with.
+ |
+
+
+ | password |
+ string |
+
+ Wallet password required for signing.
+ |
+
+
+ | address |
+ string |
+
+ The address whose private key should be used for signing the message.
+ |
+
+
+ | message |
+ string |
+
+ The arbitrary message to be signed.
+ |
+
+
+
+ SignMessageResponse Response
+
+
+
+ | Field | Type | Description |
+
+
+
+ | signature |
+ string |
+
+ The signature in hexadecimal format.
+ |
+
+
+
+
+#### SignRawTransaction
+
+SignRawTransaction signs a raw transaction for a specified wallet.
+
+SignRawTransactionRequest Request
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet used for signing.
+ |
+
+
+ | raw_transaction |
+ string |
+
+ The raw transaction data to be signed.
+ |
+
+
+ | password |
+ string |
+
+ Wallet password required for signing.
+ |
+
+
+
+ SignRawTransactionResponse Response
+
+
+
+ | Field | Type | Description |
+
+
+
+ | transaction_id |
+ string |
+
+ The ID of the signed transaction.
+ |
+
+
+ | signed_raw_transaction |
+ string |
+
+ The signed raw transaction data.
+ |
+
+
+
+
+#### ListTransactions
+
+ListTransactions returns a list of transactions for a wallet,
+optionally filtered by a specific address, with pagination support.
+
+ListTransactionsRequest Request
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet to query transactions for.
+ |
+
+
+ | address |
+ string |
+
+ Optional: The address to filter transactions.
+If empty or set to "*", transactions for all addresses in the wallet are included.
+ |
+
+
+ | direction |
+ TxDirection |
+
+ (Enum)Filter transactions by direction relative to the wallet.
+Defaults to any direction if not set.
+ Available values:
+ - TX_DIRECTION_ANY = 0 (include both incoming and outgoing transactions.)
+ - TX_DIRECTION_INCOMING = 1 (Include only incoming transactions where the wallet receives funds.)
+ - TX_DIRECTION_OUTGOING = 2 (Include only outgoing transactions where the wallet sends funds.)
+
+ |
+
+
+ | count |
+ int32 |
+
+ Optional: The maximum number of transactions to return.
+Defaults to 10 if not set.
+ |
+
+
+ | skip |
+ int32 |
+
+ Optional: The number of transactions to skip (for pagination).
+Defaults to 0 if not set.
+ |
+
+
+
+ ListTransactionsResponse Response
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet queried.
+ |
+
+
+ | txs |
+ repeated TransactionInfo |
+
+ List of transactions for the wallet, filtered by the specified address if provided.
+ |
+
+
+ | txs[].id |
+ string |
+
+ The unique ID of the transaction.
+ |
+
+
+ | txs[].data |
+ string |
+
+ The raw transaction data in hexadecimal format.
+ |
+
+
+ | txs[].version |
+ int32 |
+
+ The version of the transaction.
+ |
+
+
+ | txs[].lock_time |
+ uint32 |
+
+ The lock time for the transaction.
+ |
+
+
+ | txs[].value |
+ int64 |
+
+ The value of the transaction in NanoPAC.
+ |
+
+
+ | txs[].fee |
+ int64 |
+
+ The fee for the transaction in NanoPAC.
+ |
+
+
+ | txs[].payload_type |
+ PayloadType |
+
+ (Enum)The type of transaction payload.
+ Available values:
+ - PAYLOAD_TYPE_UNSPECIFIED = 0 (Unspecified payload type.)
+ - PAYLOAD_TYPE_TRANSFER = 1 (Transfer payload type.)
+ - PAYLOAD_TYPE_BOND = 2 (Bond payload type.)
+ - PAYLOAD_TYPE_SORTITION = 3 (Sortition payload type.)
+ - PAYLOAD_TYPE_UNBOND = 4 (Unbond payload type.)
+ - PAYLOAD_TYPE_WITHDRAW = 5 (Withdraw payload type.)
+ - PAYLOAD_TYPE_BATCH_TRANSFER = 6 (Batch transfer payload type.)
+
+ |
+
+
+ | txs[].transfer |
+ PayloadTransfer |
+
+ (OneOf)Transfer transaction payload.
+ |
+
+
+ | txs[].transfer.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].transfer.receiver |
+ string |
+
+ The receiver's address.
+ |
+
+
+ | txs[].transfer.amount |
+ int64 |
+
+ The amount to be transferred in NanoPAC.
+ |
+
+
+ | txs[].bond |
+ PayloadBond |
+
+ (OneOf)Bond transaction payload.
+ |
+
+
+ | txs[].bond.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].bond.receiver |
+ string |
+
+ The receiver's address.
+ |
+
+
+ | txs[].bond.stake |
+ int64 |
+
+ The stake amount in NanoPAC.
+ |
+
+
+ | txs[].bond.public_key |
+ string |
+
+ The public key of the validator.
+ |
+
+
+ | txs[].sortition |
+ PayloadSortition |
+
+ (OneOf)Sortition transaction payload.
+ |
+
+
+ | txs[].sortition.address |
+ string |
+
+ The validator address associated with the sortition proof.
+ |
+
+
+ | txs[].sortition.proof |
+ string |
+
+ The proof for the sortition.
+ |
+
+
+ | txs[].unbond |
+ PayloadUnbond |
+
+ (OneOf)Unbond transaction payload.
+ |
+
+
+ | txs[].unbond.validator |
+ string |
+
+ The address of the validator to unbond from.
+ |
+
+
+ | txs[].withdraw |
+ PayloadWithdraw |
+
+ (OneOf)Withdraw transaction payload.
+ |
+
+
+ | txs[].withdraw.validator_address |
+ string |
+
+ The address of the validator to withdraw from.
+ |
+
+
+ | txs[].withdraw.account_address |
+ string |
+
+ The address of the account to withdraw to.
+ |
+
+
+ | txs[].withdraw.amount |
+ int64 |
+
+ The withdrawal amount in NanoPAC.
+ |
+
+
+ | txs[].batch_transfer |
+ PayloadBatchTransfer |
+
+ (OneOf)Batch Transfer transaction payload.
+ |
+
+
+ | txs[].batch_transfer.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].batch_transfer.recipients |
+ repeated Recipient |
+
+ The list of recipients with their amounts.
+ |
+
+
+ | txs[].memo |
+ string |
+
+ A memo string for the transaction.
+ |
+
+
+ | txs[].public_key |
+ string |
+
+ The public key associated with the transaction.
+ |
+
+
+ | txs[].signature |
+ string |
+
+ The signature for the transaction.
+ |
+
+
+ | txs[].block_height |
+ uint32 |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ bool |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ int32 |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+
+
## Scalar Value Types
@@ -1301,6 +1332,29 @@ curl --location 'http://localhost:8545/' \
The signature for the transaction.
|
+
+
+ | transaction.block_height |
+ numeric |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | transaction.confirmed |
+ boolean |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | transaction.confirmations |
+ numeric |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -1693,6 +1747,29 @@ BLOCK_VERBOSITY_TRANSACTIONS.
The signature for the transaction.
|
+
+
+ | txs[].block_height |
+ numeric |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ boolean |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ numeric |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -2722,6 +2799,29 @@ Parameters has no fields.
The signature for the transaction.
|
+
+
+ | txs[].block_height |
+ numeric |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ boolean |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ numeric |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
@@ -3419,6 +3519,13 @@ signing, verification, and other cryptographic operations.
+ | wallet_name |
+ string |
+
+ The name for the new wallet.
+ |
+
+
| mnemonic |
string |
@@ -3553,9 +3660,10 @@ signing, verification, and other cryptographic operations.
|
-#### pactus.wallet.get_total_balance
+#### pactus.wallet.list_wallets
-GetTotalBalance returns the total available balance of the wallet.
+ListWallets returns a list of all available wallets.
+If `include_unloaded` is set, it returns both loaded and unloaded wallets.
Parameters
@@ -3565,10 +3673,10 @@ signing, verification, and other cryptographic operations.
- | wallet_name |
- string |
+ include_unloaded |
+ boolean |
- The name of the wallet to get the total balance.
+ Whether to include wallets that exist on disk but are not currently loaded.
|
@@ -3581,25 +3689,18 @@ signing, verification, and other cryptographic operations.
- | wallet_name |
- string |
-
- The name of the queried wallet.
- |
-
-
- | total_balance |
- numeric |
+ wallets |
+ repeated string |
- The total balance of the wallet in NanoPAC.
+ Array of wallet names.
|
-#### pactus.wallet.sign_raw_transaction
+#### pactus.wallet.get_wallet_info
-SignRawTransaction signs a raw transaction for a specified wallet.
+GetWalletInfo returns detailed information about a specific wallet.
Parameters
@@ -3612,21 +3713,7 @@ signing, verification, and other cryptographic operations.
wallet_name |
string |
- The name of the wallet used for signing.
- |
-
-
- | raw_transaction |
- string |
-
- The raw transaction data to be signed.
- |
-
-
- | password |
- string |
-
- Wallet password required for signing.
+ The name of the wallet to query.
|
@@ -3639,25 +3726,74 @@ signing, verification, and other cryptographic operations.
- | transaction_id |
+ wallet_name |
string |
- The ID of the signed transaction.
+ The name of the wallet.
|
- | signed_raw_transaction |
+ version |
+ numeric |
+
+ The wallet format version.
+ |
+
+
+ | network |
string |
- The signed raw transaction data.
+ The network the wallet is connected to (e.g., mainnet, testnet).
+ |
+
+
+ | encrypted |
+ boolean |
+
+ Indicates if the wallet is encrypted.
+ |
+
+
+ | uuid |
+ string |
+
+ A unique identifier of the wallet.
+ |
+
+
+ | created_at |
+ numeric |
+
+ Unix timestamp of wallet creation.
+ |
+
+
+ | default_fee |
+ numeric |
+
+ The default fee of the wallet.
+ |
+
+
+ | driver |
+ string |
+
+ The storage driver used by the wallet (e.g., SQLite, Legacy JSON ).
+ |
+
+
+ | path |
+ string |
+
+ Path to the wallet file or storage location.
|
-#### pactus.wallet.get_validator_address
+#### pactus.wallet.is_wallet_loaded
-GetValidatorAddress retrieves the validator address associated with a public key.
+IsWalletLoaded checks whether the specified wallet is currently loaded.
Parameters
@@ -3667,10 +3803,10 @@ signing, verification, and other cryptographic operations.
- | public_key |
+ wallet_name |
string |
- The public key of the validator.
+ Name of the wallet to check.
|
@@ -3683,18 +3819,25 @@ signing, verification, and other cryptographic operations.
- | address |
+ wallet_name |
string |
- The validator address associated with the public key.
+ Name of the wallet.
+ |
+
+
+ | loaded |
+ boolean |
+
+ True if the wallet is currently loaded.
|
-#### pactus.wallet.get_new_address
+#### pactus.wallet.update_password
-GetNewAddress generates a new address for the specified wallet.
+UpdatePassword updates the password of an existing wallet.
Parameters
@@ -3707,36 +3850,58 @@ signing, verification, and other cryptographic operations.
wallet_name |
string |
- The name of the wallet to generate a new address.
+ The name of the wallet whose password will be updated.
|
- | address_type |
- numeric |
+ old_password |
+ string |
- (Enum)The type of address to generate.
- Available values:
- - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
-Should not be used to generate new addresses.)
- - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
- - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
- - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
-Note: Generating a new Ed25519 address requires the wallet password.)
-
+ The current wallet password.
|
- | label |
+ new_password |
string |
- A label for the new address.
+ The new wallet password.
+ |
+
+
+
+ Result
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet whose password was updated.
|
+
+
+
+#### pactus.wallet.get_total_balance
+
+GetTotalBalance returns the total available balance of the wallet.
+
+Parameters
+
+
+
+ | Field | Type | Description |
+
+
- | password |
+ wallet_name |
string |
- Password for the new address. It's required when address_type is Ed25519 type.
+ The name of the wallet to get the total balance.
|
@@ -3752,50 +3917,22 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the wallet where address was generated.
+ The name of the queried wallet.
|
- | address_info |
- object (AddressInfo) |
+ total_balance |
+ numeric |
- Detailed information about the new address.
+ The total balance of the wallet in NanoPAC.
|
-
- | address_info.address |
- string |
-
- The address string.
- |
-
-
- | address_info.public_key |
- string |
-
- The public key associated with the address.
- |
-
-
- | address_info.label |
- string |
-
- A human-readable label associated with the address.
- |
-
-
- | address_info.path |
- string |
-
- The Hierarchical Deterministic (HD) path of the address within the wallet.
- |
-
-
+
-#### pactus.wallet.get_address_history
+#### pactus.wallet.get_total_stake
-GetAddressHistory retrieves the transaction history of an address.
+GetTotalStake returns the total stake amount in the wallet.
Parameters
@@ -3808,14 +3945,7 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the wallet containing the address.
- |
-
-
- | address |
- string |
-
- The address to retrieve history for.
+ The name of the wallet to get the total stake.
|
@@ -3828,53 +3958,26 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | history_info |
- repeated object (HistoryInfo) |
+ wallet_name |
+ string |
- List of all historical transactions associated with the address.
+ The name of the queried wallet.
|
- | history_info[].transaction_id |
- string |
-
- The transaction ID in hexadecimal format.
- |
-
-
- | history_info[].time |
- numeric |
-
- Unix timestamp of when the transaction was confirmed.
- |
-
-
- | history_info[].payload_type |
- string |
-
- The type of transaction payload.
- |
-
-
- | history_info[].description |
- string |
-
- Human-readable description of the transaction.
- |
-
-
- | history_info[].amount |
- numeric |
-
- The transaction amount in NanoPAC.
- |
-
-
+ total_stake |
+ numeric |
+
+ The total stake amount in NanoPAC.
+ |
+
+
-#### pactus.wallet.sign_message
+#### pactus.wallet.get_validator_address
-SignMessage signs an arbitrary message using a wallet's private key.
+GetValidatorAddress retrieves the validator address associated with a public key.
+Deprecated: Will move into utils.
Parameters
@@ -3884,31 +3987,10 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | wallet_name |
- string |
-
- The name of the wallet to sign with.
- |
-
-
- | password |
- string |
-
- Wallet password required for signing.
- |
-
-
- | address |
- string |
-
- The address whose private key should be used for signing the message.
- |
-
-
- | message |
+ public_key |
string |
- The arbitrary message to be signed.
+ The public key of the validator.
|
@@ -3921,18 +4003,18 @@ Note: Generating a new Ed25519 address requires the wallet password.)
- | signature |
+ address |
string |
- The signature in hexadecimal format.
+ The validator address associated with the public key.
|
-#### pactus.wallet.get_total_stake
+#### pactus.wallet.get_address_info
-GetTotalStake returns the total stake amount in the wallet.
+GetAddressInfo returns detailed information about a specific address.
Parameters
@@ -3945,7 +4027,14 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the wallet to get the total stake.
+ The name of the wallet containing the address.
+ |
+
+
+ | address |
+ string |
+
+ The address to query.
|
@@ -3961,22 +4050,50 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the queried wallet.
+ The name of the wallet containing the address.
|
- | total_stake |
- numeric |
+ address_info |
+ object (AddressInfo) |
- The total stake amount in NanoPAC.
+ Detailed information about the address.
|
-
+
+ | address_info.address |
+ string |
+
+ The address string.
+ |
+
+
+ | address_info.public_key |
+ string |
+
+ The public key associated with the address.
+ |
+
+
+ | address_info.label |
+ string |
+
+ A human-readable label associated with the address.
+ |
+
+
+ | address_info.path |
+ string |
+
+ The Hierarchical Deterministic (HD) path of the address within the wallet.
+ |
+
+
-#### pactus.wallet.get_address_info
+#### pactus.wallet.set_address_label
-GetAddressInfo returns detailed information about a specific address.
+SetAddressLabel sets or updates the label for a given address.
Parameters
@@ -3992,11 +4109,25 @@ Note: Generating a new Ed25519 address requires the wallet password.)
The name of the wallet containing the address.
+
+ | password |
+ string |
+
+ Wallet password required for modification.
+ |
+
| address |
string |
- The address to query.
+ The address to label.
+ |
+
+
+ | label |
+ string |
+
+ The new label for the address.
|
@@ -4012,43 +4143,29 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the wallet containing the address.
+ The name of the wallet where the address label was updated.
|
| address |
string |
- The queried address.
+ The address where the label was updated.
|
| label |
string |
- The address label.
- |
-
-
- | public_key |
- string |
-
- The public key of the address.
- |
-
-
- | path |
- string |
-
- The Hierarchical Deterministic (HD) path of the address.
+ The new label for the address.
|
-#### pactus.wallet.set_address_label
+#### pactus.wallet.get_new_address
-SetAddressLabel sets or updates the label for a given address.
+GetNewAddress generates a new address for the specified wallet.
Parameters
@@ -4061,74 +4178,100 @@ Note: Generating a new Ed25519 address requires the wallet password.)
wallet_name |
string |
- The name of the wallet containing the address.
+ The name of the wallet to generate a new address.
|
- | password |
- string |
+ address_type |
+ numeric |
- Wallet password required for modification.
+ (Enum)The type of address to generate.
+ Available values:
+ - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
+Should not be used to generate new addresses.)
+ - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
+ - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
+ - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
+Note: Generating a new Ed25519 address requires the wallet password.)
+
|
- | address |
+ label |
string |
- The address to label.
+ A label for the new address.
|
- | label |
+ password |
string |
- The new label for the address.
+ Password for the new address. It's required when address_type is Ed25519 type.
|
Result
-
-
- | Field | Type | Description |
-
-
-
-
-
-#### pactus.wallet.list_wallet
-
-ListWallet returns a list of all available wallets.
-
-Parameters
-
-Parameters has no fields.
- Result
-
| Field | Type | Description |
- | wallets |
- repeated string |
+ wallet_name |
+ string |
- Array of wallet names.
+ The name of the wallet where address was generated.
|
-
-
-
-#### pactus.wallet.get_wallet_info
-
-GetWalletInfo returns detailed information about a specific wallet.
-
-Parameters
-
-
-
+
+ | address_info |
+ object (AddressInfo) |
+
+ Detailed information about the new address.
+ |
+
+
+ | address_info.address |
+ string |
+
+ The address string.
+ |
+
+
+ | address_info.public_key |
+ string |
+
+ The public key associated with the address.
+ |
+
+
+ | address_info.label |
+ string |
+
+ A human-readable label associated with the address.
+ |
+
+
+ | address_info.path |
+ string |
+
+ The Hierarchical Deterministic (HD) path of the address within the wallet.
+ |
+
+
+
+
+#### pactus.wallet.list_addresses
+
+ListAddresses returns all addresses in the specified wallet.
+
+Parameters
+
+
+
| Field | Type | Description |
@@ -4136,7 +4279,22 @@ Parameters has no fields.
wallet_name |
string |
- The name of the wallet to query.
+ The name of the queried wallet.
+ |
+
+
+ | address_types |
+ repeated numeric |
+
+ (Enum)Filter addresses by their types. If empty, all address types are included.
+ Available values:
+ - ADDRESS_TYPE_TREASURY = 0 (Treasury address type.
+Should not be used to generate new addresses.)
+ - ADDRESS_TYPE_VALIDATOR = 1 (Validator address type used for validator nodes.)
+ - ADDRESS_TYPE_BLS_ACCOUNT = 2 (Account address type with BLS signature scheme.)
+ - ADDRESS_TYPE_ED25519_ACCOUNT = 3 (Account address type with Ed25519 signature scheme.
+Note: Generating a new Ed25519 address requires the wallet password.)
+
|
@@ -4152,57 +4310,167 @@ Parameters has no fields.
wallet_name |
string |
- The name of the wallet to query.
+ The name of the queried wallet.
|
- | version |
- numeric |
+ data |
+ repeated object (AddressInfo) |
- The wallet format version.
+ List of all addresses in the wallet with their details.
|
- | network |
+ data[].address |
+ string |
+
+ The address string.
+ |
+
+
+ | data[].public_key |
+ string |
+
+ The public key associated with the address.
+ |
+
+
+ | data[].label |
+ string |
+
+ A human-readable label associated with the address.
+ |
+
+
+ | data[].path |
+ string |
+
+ The Hierarchical Deterministic (HD) path of the address within the wallet.
+ |
+
+
+
+
+#### pactus.wallet.sign_message
+
+SignMessage signs an arbitrary message using a wallet's private key.
+
+Parameters
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
string |
- The network the wallet is connected to (e.g., mainnet, testnet).
+ The name of the wallet to sign with.
|
-
- | encrypted |
- boolean |
+
+ | password |
+ string |
- Indicates if the wallet is encrypted.
+ Wallet password required for signing.
|
-
- | uuid |
+
+ | address |
string |
- A unique identifier of the wallet.
+ The address whose private key should be used for signing the message.
|
-
- | created_at |
- numeric |
+
+ | message |
+ string |
- Unix timestamp of wallet creation.
+ The arbitrary message to be signed.
+ |
+
+
+
+ Result
+
+
+
+ | Field | Type | Description |
+
+
+
+ | signature |
+ string |
+
+ The signature in hexadecimal format.
+ |
+
+
+
+
+#### pactus.wallet.sign_raw_transaction
+
+SignRawTransaction signs a raw transaction for a specified wallet.
+
+Parameters
+
+
+
+ | Field | Type | Description |
+
+
+
+ | wallet_name |
+ string |
+
+ The name of the wallet used for signing.
+ |
+
+
+ | raw_transaction |
+ string |
+
+ The raw transaction data to be signed.
+ |
+
+
+ | password |
+ string |
+
+ Wallet password required for signing.
+ |
+
+
+
+ Result
+
+
+
+ | Field | Type | Description |
+
+
+
+ | transaction_id |
+ string |
+
+ The ID of the signed transaction.
|
- | default_fee |
- numeric |
+ signed_raw_transaction |
+ string |
- The default fee of the wallet.
+ The signed raw transaction data.
|
-#### pactus.wallet.list_address
+#### pactus.wallet.list_transactions
-ListAddress returns all addresses in the specified wallet.
+ListTransactions returns a list of transactions for a wallet,
+optionally filtered by a specific address, with pagination support.
Parameters
@@ -4215,7 +4483,44 @@ Parameters has no fields.
wallet_name |
string |
- The name of the queried wallet.
+ The name of the wallet to query transactions for.
+ |
+
+
+ | address |
+ string |
+
+ Optional: The address to filter transactions.
+If empty or set to "*", transactions for all addresses in the wallet are included.
+ |
+
+
+ | direction |
+ numeric |
+
+ (Enum)Filter transactions by direction relative to the wallet.
+Defaults to any direction if not set.
+ Available values:
+ - TX_DIRECTION_ANY = 0 (include both incoming and outgoing transactions.)
+ - TX_DIRECTION_INCOMING = 1 (Include only incoming transactions where the wallet receives funds.)
+ - TX_DIRECTION_OUTGOING = 2 (Include only outgoing transactions where the wallet sends funds.)
+
+ |
+
+
+ | count |
+ numeric |
+
+ Optional: The maximum number of transactions to return.
+Defaults to 10 if not set.
+ |
+
+
+ | skip |
+ numeric |
+
+ Optional: The number of transactions to skip (for pagination).
+Defaults to 0 if not set.
|
@@ -4231,42 +4536,263 @@ Parameters has no fields.
wallet_name |
string |
- The name of the queried wallet.
+ The name of the wallet queried.
|
- | data |
- repeated object (AddressInfo) |
+ txs |
+ repeated object (TransactionInfo) |
- List of all addresses in the wallet with their details.
+ List of transactions for the wallet, filtered by the specified address if provided.
|
- | data[].address |
+ txs[].id |
string |
- The address string.
+ The unique ID of the transaction.
|
- | data[].public_key |
+ txs[].data |
string |
- The public key associated with the address.
+ The raw transaction data in hexadecimal format.
|
- | data[].label |
+ txs[].version |
+ numeric |
+
+ The version of the transaction.
+ |
+
+
+ | txs[].lock_time |
+ numeric |
+
+ The lock time for the transaction.
+ |
+
+
+ | txs[].value |
+ numeric |
+
+ The value of the transaction in NanoPAC.
+ |
+
+
+ | txs[].fee |
+ numeric |
+
+ The fee for the transaction in NanoPAC.
+ |
+
+
+ | txs[].payload_type |
+ numeric |
+
+ (Enum)The type of transaction payload.
+ Available values:
+ - PAYLOAD_TYPE_UNSPECIFIED = 0 (Unspecified payload type.)
+ - PAYLOAD_TYPE_TRANSFER = 1 (Transfer payload type.)
+ - PAYLOAD_TYPE_BOND = 2 (Bond payload type.)
+ - PAYLOAD_TYPE_SORTITION = 3 (Sortition payload type.)
+ - PAYLOAD_TYPE_UNBOND = 4 (Unbond payload type.)
+ - PAYLOAD_TYPE_WITHDRAW = 5 (Withdraw payload type.)
+ - PAYLOAD_TYPE_BATCH_TRANSFER = 6 (Batch transfer payload type.)
+
+ |
+
+
+ | txs[].transfer |
+ object (PayloadTransfer) |
+
+ (OneOf)Transfer transaction payload.
+ |
+
+
+ | txs[].transfer.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].transfer.receiver |
+ string |
+
+ The receiver's address.
+ |
+
+
+ | txs[].transfer.amount |
+ numeric |
+
+ The amount to be transferred in NanoPAC.
+ |
+
+
+ | txs[].bond |
+ object (PayloadBond) |
+
+ (OneOf)Bond transaction payload.
+ |
+
+
+ | txs[].bond.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].bond.receiver |
+ string |
+
+ The receiver's address.
+ |
+
+
+ | txs[].bond.stake |
+ numeric |
+
+ The stake amount in NanoPAC.
+ |
+
+
+ | txs[].bond.public_key |
+ string |
+
+ The public key of the validator.
+ |
+
+
+ | txs[].sortition |
+ object (PayloadSortition) |
+
+ (OneOf)Sortition transaction payload.
+ |
+
+
+ | txs[].sortition.address |
+ string |
+
+ The validator address associated with the sortition proof.
+ |
+
+
+ | txs[].sortition.proof |
+ string |
+
+ The proof for the sortition.
+ |
+
+
+ | txs[].unbond |
+ object (PayloadUnbond) |
+
+ (OneOf)Unbond transaction payload.
+ |
+
+
+ | txs[].unbond.validator |
+ string |
+
+ The address of the validator to unbond from.
+ |
+
+
+ | txs[].withdraw |
+ object (PayloadWithdraw) |
+
+ (OneOf)Withdraw transaction payload.
+ |
+
+
+ | txs[].withdraw.validator_address |
+ string |
+
+ The address of the validator to withdraw from.
+ |
+
+
+ | txs[].withdraw.account_address |
+ string |
+
+ The address of the account to withdraw to.
+ |
+
+
+ | txs[].withdraw.amount |
+ numeric |
+
+ The withdrawal amount in NanoPAC.
+ |
+
+
+ | txs[].batch_transfer |
+ object (PayloadBatchTransfer) |
+
+ (OneOf)Batch Transfer transaction payload.
+ |
+
+
+ | txs[].batch_transfer.sender |
+ string |
+
+ The sender's address.
+ |
+
+
+ | txs[].batch_transfer.recipients |
+ repeated object (Recipient) |
+
+ The list of recipients with their amounts.
+ |
+
+
+ | txs[].memo |
string |
- A human-readable label associated with the address.
+ A memo string for the transaction.
|
- | data[].path |
+ txs[].public_key |
string |
- The Hierarchical Deterministic (HD) path of the address within the wallet.
+ The public key associated with the transaction.
+ |
+
+
+ | txs[].signature |
+ string |
+
+ The signature for the transaction.
+ |
+
+
+ | txs[].block_height |
+ numeric |
+
+ The block height containing the transaction.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
+ |
+
+
+ | txs[].confirmed |
+ boolean |
+
+ Indicates whether the transaction is confirmed.
+ |
+
+
+ | txs[].confirmations |
+ numeric |
+
+ The number of blocks that have been added to the chain after this transaction was included in a block.
+A value of zero means the transaction is unconfirmed and may still in the transaction pool.
|
diff --git a/content/tutorials/integration-guide.md b/content/tutorials/integration-guide.md
new file mode 100644
index 0000000..b308c6c
--- /dev/null
+++ b/content/tutorials/integration-guide.md
@@ -0,0 +1,105 @@
+---
+title: Pactus Integration Guide
+weight: 13
+---
+
+## Preface
+
+This guide is intended for developers and infrastructure teams who want to connect
+their applications directly to the Pactus network, including wallets, exchanges,
+analytics platforms, staking services, and custom backend systems.
+
+In particular, this document is especially useful for **exchange integrations**,
+as Pactus allows exchanges to send transactions, monitor incoming transfers, and
+track balances directly via a native Pactus node, without relying on any
+third-party APIs or external indexing services.
+
+## Run a Pactus Node
+
+Running a Pactus node is simple and can be done in just a few steps. Pactus is
+designed to be lightweight and easy to operate. You can set up and run a Pactus
+node either as a [system service](/get-started/pactus-daemon/) or using
+[Docker](/get-started/pactus-docker/) on your servers.
+
+Although Pactus storage is optimized and running a full node is recommended, you
+may run the node in [pruned mode](/tutorials/pruned-nodes/) if you have limited
+storage. A pruned node does not retain the entire blockchain history; instead,
+it keeps blocks and transactions only for a configured retention period. By
+default, the retention period is set to 10 days, but you can increase it to
+higher values (for example, 365 days) to retain transactions for a longer time.
+
+## Node Endpoints
+
+Pactus provides multiple endpoints, including [JSON-RPC](/api/json-rpc/),
+[gRPC](/api/grpc/), and [HTTP](/api/http/).
+
+The gRPC service is the primary gateway for interacting with a Pactus node and
+should be enabled. For security reasons, we recommend not exposing these
+endpoints publicly and restricting access to `localhost` or a private network.
+
+You may use any of these endpoints depending on your integration requirements.
+
+## Enable Wallet Service
+
+Each Pactus node includes a secure, embedded wallet service for managing funds.
+This service is disabled by default and can be enabled through the node
+[config](/get-started/configuration/) file.
+
+Exercise caution when enabling the wallet service and follow security best
+practices at all times.
+
+We strongly recommend setting a **strong password** for all wallets. Ideally,
+wallet-related APIs should not be exposed publicly. If public access is
+required, ensure all communications are properly secured by enabling
+authentication and encryption. See
+[gRPC Basic Authentication](https://docs.pactus.org/tutorials/grpc-basic-auth/)
+[gRPC Basic Authentication](https://docs.pactus.org/tutorials/grpc-basic-auth/)
+and
+[Secure Connections](https://docs.pactus.org/tutorials/secure-connections/) for
+detailed instructions on protecting Pactus endpoints and preventing
+unauthorized access.
+
+## Manage Wallets
+
+By default, each Pactus node includes an integrated wallet named
+`default_wallet`. However, you can create multiple wallets as needed. Each
+wallet may serve a different purpose. For example, one wallet for receiving
+funds and another for sending transactions.
+
+You may also create a **neuter wallet**, which is a special wallet without
+private keys. Neuter wallets cannot sign transactions but can generate and
+manage addresses for receiving funds. This is useful for deposit tracking and
+monitoring incoming transactions without exposing private keys.
+
+Create and manage wallets according to your operational and security strategy.
+
+## Send Transactions
+
+Transactions are sent through the wallet service. To send a transaction, you
+must first create a **raw (unsigned) transaction**, then sign it using a wallet,
+and finally broadcast it to the network.
+
+To create a raw transaction, use the
+[Transaction](/api/grpc/#getrawtransfertransaction) service and provide the
+required information, such as the sender and receiver addresses. This returns an
+unsigned transaction payload.
+
+You can then use the wallet service to
+**[sign](/api/grpc/#signrawtransaction)** the transaction. The sender address
+must belong to your wallet. The signed transaction can be broadcast to the
+network using **[BroadcastTransaction](/api/grpc/#broadcasttransaction)**.
+
+Once a transaction is committed and included in a block, it is finalized and
+confirmed. You can retrieve the confirmed transaction details using the
+**[GetTransaction](/api/grpc/#gettransaction)** API. If, for any reason, your
+transaction is not included in any block, the `GetTransaction` API will return
+an error, indicating that the transaction has not been finalized or confirmed.
+
+## Check for Incoming Transactions
+
+Each wallet scans and monitors every block for incoming transactions and stores
+them in its database. You can query and list wallet transactions using the
+[ListTransaction](/api/grpc/#listtransactions) API. Transactions can be filtered
+by direction (incoming or outgoing) or by address. Pagination options such as
+`count` and `skip` can be used to efficiently navigate large transaction
+histories.
diff --git a/content/tutorials/pactus-testnet.md b/content/tutorials/pactus-testnet.md
index 738c4df..b87a5a2 100644
--- a/content/tutorials/pactus-testnet.md
+++ b/content/tutorials/pactus-testnet.md
@@ -1,6 +1,6 @@
---
title: Join Pactus Testnet
-weight: 13
+weight: 14
---
## Preface
diff --git a/content/tutorials/pruned-nodes.md b/content/tutorials/pruned-nodes.md
index 865edf8..2e156bd 100644
--- a/content/tutorials/pruned-nodes.md
+++ b/content/tutorials/pruned-nodes.md
@@ -1,5 +1,5 @@
---
-title: Use Pruned Nodes
+title: Prune Your Pactus Node
weight: 4
---
@@ -69,5 +69,8 @@ pactus-daemon.exe prune -w
4. **Restart the Node**
Start your Pactus node again to resume normal operation.
-This process removes all blocks and transactions older than the last 10 days.
-It is especially useful for users with limited storage capacity.
+This process removes all blocks and transactions older than your configured `store.retention_days`
+(default: 10 days). You can adjust it in your node
+[config](/get-started/configuration/) if you want to keep more
+or less history.
+Pruning is especially useful for users with limited storage capacity.
diff --git a/static/swagger-ui/pactus.swagger.json b/static/swagger-ui/pactus.swagger.json
index 67900fe..f684f0e 100644
--- a/static/swagger-ui/pactus.swagger.json
+++ b/static/swagger-ui/pactus.swagger.json
@@ -940,45 +940,6 @@
]
}
},
- "/pactus/wallet/get_address_history": {
- "get": {
- "summary": "GetAddressHistory retrieves the transaction history of an address.",
- "operationId": "Wallet_GetAddressHistory",
- "responses": {
- "200": {
- "description": "A successful response.",
- "schema": {
- "$ref": "#/definitions/pactusGetAddressHistoryResponse"
- }
- },
- "default": {
- "description": "An unexpected error response.",
- "schema": {
- "$ref": "#/definitions/rpcStatus"
- }
- }
- },
- "parameters": [
- {
- "name": "walletName",
- "description": "The name of the wallet containing the address.",
- "in": "query",
- "required": false,
- "type": "string"
- },
- {
- "name": "address",
- "description": "The address to retrieve history for.",
- "in": "query",
- "required": false,
- "type": "string"
- }
- ],
- "tags": [
- "Wallet"
- ]
- }
- },
"/pactus/wallet/get_address_info": {
"get": {
"summary": "GetAddressInfo returns detailed information about a specific address.",
@@ -1144,7 +1105,7 @@
},
"/pactus/wallet/get_validator_address": {
"get": {
- "summary": "GetValidatorAddress retrieves the validator address associated with a public key.",
+ "summary": "GetValidatorAddress retrieves the validator address associated with a public key.\nDeprecated: Will move into utils.",
"operationId": "Wallet_GetValidatorAddress",
"responses": {
"200": {
@@ -1206,15 +1167,47 @@
]
}
},
- "/pactus/wallet/list_address": {
+ "/pactus/wallet/is_wallet_loaded": {
"get": {
- "summary": "ListAddress returns all addresses in the specified wallet.",
- "operationId": "Wallet_ListAddress",
+ "summary": "IsWalletLoaded checks whether the specified wallet is currently loaded.",
+ "operationId": "Wallet_IsWalletLoaded",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
- "$ref": "#/definitions/pactusListAddressResponse"
+ "$ref": "#/definitions/pactusIsWalletLoadedResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "walletName",
+ "description": "Name of the wallet to check.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "Wallet"
+ ]
+ }
+ },
+ "/pactus/wallet/list_addresses": {
+ "get": {
+ "summary": "ListAddresses returns all addresses in the specified wallet.",
+ "operationId": "Wallet_ListAddresses",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/pactusListAddressesResponse"
}
},
"default": {
@@ -1231,6 +1224,91 @@
"in": "query",
"required": false,
"type": "string"
+ },
+ {
+ "name": "addressTypes",
+ "description": "Filter addresses by their types. If empty, all address types are included.\n\n - ADDRESS_TYPE_TREASURY: Treasury address type.\nShould not be used to generate new addresses.\n - ADDRESS_TYPE_VALIDATOR: Validator address type used for validator nodes.\n - ADDRESS_TYPE_BLS_ACCOUNT: Account address type with BLS signature scheme.\n - ADDRESS_TYPE_ED25519_ACCOUNT: Account address type with Ed25519 signature scheme.\nNote: Generating a new Ed25519 address requires the wallet password.",
+ "in": "query",
+ "required": false,
+ "type": "array",
+ "items": {
+ "type": "string",
+ "enum": [
+ "ADDRESS_TYPE_TREASURY",
+ "ADDRESS_TYPE_VALIDATOR",
+ "ADDRESS_TYPE_BLS_ACCOUNT",
+ "ADDRESS_TYPE_ED25519_ACCOUNT"
+ ]
+ },
+ "collectionFormat": "multi"
+ }
+ ],
+ "tags": [
+ "Wallet"
+ ]
+ }
+ },
+ "/pactus/wallet/list_transactions": {
+ "get": {
+ "summary": "ListTransactions returns a list of transactions for a wallet,\noptionally filtered by a specific address, with pagination support.",
+ "operationId": "Wallet_ListTransactions",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/pactusListTransactionsResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "walletName",
+ "description": "The name of the wallet to query transactions for.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "address",
+ "description": "Optional: The address to filter transactions.\nIf empty or set to \"*\", transactions for all addresses in the wallet are included.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "direction",
+ "description": "Filter transactions by direction relative to the wallet.\nDefaults to any direction if not set.\n\n - TX_DIRECTION_ANY: include both incoming and outgoing transactions.\n - TX_DIRECTION_INCOMING: Include only incoming transactions where the wallet receives funds.\n - TX_DIRECTION_OUTGOING: Include only outgoing transactions where the wallet sends funds.",
+ "in": "query",
+ "required": false,
+ "type": "string",
+ "enum": [
+ "TX_DIRECTION_ANY",
+ "TX_DIRECTION_INCOMING",
+ "TX_DIRECTION_OUTGOING"
+ ],
+ "default": "TX_DIRECTION_ANY"
+ },
+ {
+ "name": "count",
+ "description": "Optional: The maximum number of transactions to return.\nDefaults to 10 if not set.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
+ },
+ {
+ "name": "skip",
+ "description": "Optional: The number of transactions to skip (for pagination).\nDefaults to 0 if not set.",
+ "in": "query",
+ "required": false,
+ "type": "integer",
+ "format": "int32"
}
],
"tags": [
@@ -1238,15 +1316,15 @@
]
}
},
- "/pactus/wallet/list_wallet": {
+ "/pactus/wallet/list_wallets": {
"get": {
- "summary": "ListWallet returns a list of all available wallets.",
- "operationId": "Wallet_ListWallet",
+ "summary": "ListWallets returns a list of all available wallets.\nIf `include_unloaded` is set, it returns both loaded and unloaded wallets.",
+ "operationId": "Wallet_ListWallets",
"responses": {
"200": {
"description": "A successful response.",
"schema": {
- "$ref": "#/definitions/pactusListWalletResponse"
+ "$ref": "#/definitions/pactusListWalletsResponse"
}
},
"default": {
@@ -1256,6 +1334,15 @@
}
}
},
+ "parameters": [
+ {
+ "name": "includeUnloaded",
+ "description": "Whether to include wallets that exist on disk but are not currently loaded.",
+ "in": "query",
+ "required": false,
+ "type": "boolean"
+ }
+ ],
"tags": [
"Wallet"
]
@@ -1522,6 +1609,52 @@
"Wallet"
]
}
+ },
+ "/pactus/wallet/update_password": {
+ "get": {
+ "summary": "UpdatePassword updates the password of an existing wallet.",
+ "operationId": "Wallet_UpdatePassword",
+ "responses": {
+ "200": {
+ "description": "A successful response.",
+ "schema": {
+ "$ref": "#/definitions/pactusUpdatePasswordResponse"
+ }
+ },
+ "default": {
+ "description": "An unexpected error response.",
+ "schema": {
+ "$ref": "#/definitions/rpcStatus"
+ }
+ }
+ },
+ "parameters": [
+ {
+ "name": "walletName",
+ "description": "The name of the wallet whose password will be updated.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "oldPassword",
+ "description": "The current wallet password.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ },
+ {
+ "name": "newPassword",
+ "description": "The new wallet password.",
+ "in": "query",
+ "required": false,
+ "type": "string"
+ }
+ ],
+ "tags": [
+ "Wallet"
+ ]
+ }
}
},
"definitions": {
@@ -1785,6 +1918,10 @@
"pactusCreateWalletResponse": {
"type": "object",
"properties": {
+ "walletName": {
+ "type": "string",
+ "description": "The name for the new wallet."
+ },
"mnemonic": {
"type": "string",
"description": "The mnemonic (seed phrase) for wallet recovery."
@@ -1832,20 +1969,6 @@
},
"description": "Response message contains account information."
},
- "pactusGetAddressHistoryResponse": {
- "type": "object",
- "properties": {
- "historyInfo": {
- "type": "array",
- "items": {
- "type": "object",
- "$ref": "#/definitions/pactusHistoryInfo"
- },
- "description": "List of all historical transactions associated with the address."
- }
- },
- "description": "Response message contains address transaction history."
- },
"pactusGetAddressInfoResponse": {
"type": "object",
"properties": {
@@ -1853,21 +1976,9 @@
"type": "string",
"description": "The name of the wallet containing the address."
},
- "address": {
- "type": "string",
- "description": "The queried address."
- },
- "label": {
- "type": "string",
- "description": "The address label."
- },
- "publicKey": {
- "type": "string",
- "description": "The public key of the address."
- },
- "path": {
- "type": "string",
- "description": "The Hierarchical Deterministic (HD) path of the address."
+ "addressInfo": {
+ "$ref": "#/definitions/pactusAddressInfo",
+ "description": "Detailed information about the address."
}
},
"description": "Response message contains address details."
@@ -2414,7 +2525,7 @@
"properties": {
"walletName": {
"type": "string",
- "description": "The name of the wallet to query."
+ "description": "The name of the wallet."
},
"version": {
"type": "integer",
@@ -2442,39 +2553,33 @@
"type": "string",
"format": "int64",
"description": "The default fee of the wallet."
+ },
+ "driver": {
+ "type": "string",
+ "description": "The storage driver used by the wallet (e.g., SQLite, Legacy JSON )."
+ },
+ "path": {
+ "type": "string",
+ "description": "Path to the wallet file or storage location."
}
},
"description": "Response message contains wallet details."
},
- "pactusHistoryInfo": {
+ "pactusIsWalletLoadedResponse": {
"type": "object",
"properties": {
- "transactionId": {
- "type": "string",
- "description": "The transaction ID in hexadecimal format."
- },
- "time": {
- "type": "integer",
- "format": "int64",
- "description": "Unix timestamp of when the transaction was confirmed."
- },
- "payloadType": {
- "type": "string",
- "description": "The type of transaction payload."
- },
- "description": {
+ "walletName": {
"type": "string",
- "description": "Human-readable description of the transaction."
+ "description": "Name of the wallet."
},
- "amount": {
- "type": "string",
- "format": "int64",
- "description": "The transaction amount in NanoPAC."
+ "loaded": {
+ "type": "boolean",
+ "description": "True if the wallet is currently loaded."
}
},
- "description": "HistoryInfo contains transaction history details for an address."
+ "description": "Response message indicating wallet load status."
},
- "pactusListAddressResponse": {
+ "pactusListAddressesResponse": {
"type": "object",
"properties": {
"walletName": {
@@ -2492,7 +2597,25 @@
},
"description": "Response message contains wallet addresses."
},
- "pactusListWalletResponse": {
+ "pactusListTransactionsResponse": {
+ "type": "object",
+ "properties": {
+ "walletName": {
+ "type": "string",
+ "description": "The name of the wallet queried."
+ },
+ "txs": {
+ "type": "array",
+ "items": {
+ "type": "object",
+ "$ref": "#/definitions/pactusTransactionInfo"
+ },
+ "description": "List of transactions for the wallet, filtered by the specified address if provided."
+ }
+ },
+ "description": "Response message containing a list of transactions."
+ },
+ "pactusListWalletsResponse": {
"type": "object",
"properties": {
"wallets": {
@@ -2840,7 +2963,21 @@
},
"pactusSetAddressLabelResponse": {
"type": "object",
- "description": "Response message for address label update."
+ "properties": {
+ "walletName": {
+ "type": "string",
+ "description": "The name of the wallet where the address label was updated."
+ },
+ "address": {
+ "type": "string",
+ "description": "The address where the label was updated."
+ },
+ "label": {
+ "type": "string",
+ "description": "The new label for the address."
+ }
+ },
+ "description": "Response message for updated address label."
},
"pactusSignMessageResponse": {
"type": "object",
@@ -2983,6 +3120,20 @@
"signature": {
"type": "string",
"description": "The signature for the transaction."
+ },
+ "blockHeight": {
+ "type": "integer",
+ "format": "int64",
+ "description": "The block height containing the transaction.\nA value of zero means the transaction is unconfirmed and may still in the transaction pool."
+ },
+ "confirmed": {
+ "type": "boolean",
+ "description": "Indicates whether the transaction is confirmed."
+ },
+ "confirmations": {
+ "type": "integer",
+ "format": "int32",
+ "description": "The number of blocks that have been added to the chain after this transaction was included in a block.\nA value of zero means the transaction is unconfirmed and may still in the transaction pool."
}
},
"description": "Information about a transaction."
@@ -2996,6 +3147,16 @@
"default": "TRANSACTION_VERBOSITY_DATA",
"description": "Enumeration for verbosity levels when requesting transaction details.\n\n - TRANSACTION_VERBOSITY_DATA: Request transaction data only.\n - TRANSACTION_VERBOSITY_INFO: Request detailed transaction information."
},
+ "pactusTxDirection": {
+ "type": "string",
+ "enum": [
+ "TX_DIRECTION_ANY",
+ "TX_DIRECTION_INCOMING",
+ "TX_DIRECTION_OUTGOING"
+ ],
+ "default": "TX_DIRECTION_ANY",
+ "description": "TxDirection indicates the direction of a transaction relative to the wallet.\n\n - TX_DIRECTION_ANY: include both incoming and outgoing transactions.\n - TX_DIRECTION_INCOMING: Include only incoming transactions where the wallet receives funds.\n - TX_DIRECTION_OUTGOING: Include only outgoing transactions where the wallet sends funds."
+ },
"pactusUnloadWalletResponse": {
"type": "object",
"properties": {
@@ -3006,6 +3167,16 @@
},
"description": "Response message confirming wallet unloading."
},
+ "pactusUpdatePasswordResponse": {
+ "type": "object",
+ "properties": {
+ "walletName": {
+ "type": "string",
+ "description": "The name of the wallet whose password was updated."
+ }
+ },
+ "description": "Response message confirming wallet password update."
+ },
"pactusValidatorInfo": {
"type": "object",
"properties": {