> For the complete documentation index, see [llms.txt](https://docs.talus.network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.talus.network/reference/sdk/actions-network.md).

# Network Fee Actions

**Audience:** Nexus SDK integrators (Rust).

**Area:** Network Fee Actions.

**Generated from:** Nexus SDK public API at release `v2.1.1` commit `08bfe76e726922ce512d623fbc1d2e1bd786bcd4` (generated inventory preserved below).

The `network` module is the `NetworkActions` facade reached through `NexusClient::network`. Queries use the client's configured `NexusObjects` bindings and decode `PriorityFeeVaultInnerV1`. A decoded object schema version and an application compatibility decision are separate domains; value-moving calls submit transactions through the configured signer and gas source.

#### `sdk/src/nexus/network.rs`

**`PriorityFeeVaultInnerV1`**

`PriorityFeeVaultInnerV1` is the generated public projection returned by `fetch_priority_fee_vault_state`. Its fields are `sui_balance`, `us_balance`, `exchange_rate_million_mists_us`, `total_share`, and `leader_accounts`. Use `leader_share`, `quote_withdrawal`, `quote_leader_withdrawal`, and `quote_sui_drain` for derived views. A projection does not prove custody: confirm the producing transaction effects plus returned object owner, type, version/digest, and balance before treating a drain/refund result as received.

### Source-derived public API inventory

#### `MAX_PRIORITY_FEE_DEPOSIT_BATCH_SIZE`

```rust
pub const MAX_PRIORITY_FEE_DEPOSIT_BATCH_SIZE: usize = 128;
```

#### `ConfigurePriorityFeeVaultResult`

```rust
pub struct ConfigurePriorityFeeVaultResult {
    pub tx_digest: sui::types::Digest,
}
```

#### `ConfigureLeaderRegistryResult`

```rust
pub struct ConfigureLeaderRegistryResult {
    pub tx_digest: sui::types::Digest,
}
```

#### `SwapUsForSuiResult`

```rust
pub struct SwapUsForSuiResult {
    pub tx_digest: sui::types::Digest,
    pub us_spent: u64,
    pub us_refunded: u64,
    pub sui_withdrawn: u64,
}
```

#### `DrainPriorityFeeVaultSuiResult`

```rust
pub struct DrainPriorityFeeVaultSuiResult {
    pub tx_digest: sui::types::Digest,
    pub exchange_rate_million_mists_us: u64,
    pub sui_balance_before: u64,
    pub min_sui_out: u64,
}
```

#### `WithdrawPriorityFeeResult`

```rust
pub struct WithdrawPriorityFeeResult {
    pub tx_digest: sui::types::Digest,
}
```

#### `SkippedPriorityFeeDeposit`

```rust
pub struct SkippedPriorityFeeDeposit {
    pub deposit_id: sui::types::Address,
    pub leader_cap_id: sui::types::Address,
}
```

#### `CollectPriorityFeeDepositsResult`

```rust
pub struct CollectPriorityFeeDepositsResult {
    pub tx_digests: Vec<sui::types::Digest>,
    pub collected_deposit_ids: Vec<sui::types::Address>,
    pub skipped_old_leader_deposits: Vec<SkippedPriorityFeeDeposit>,
    pub unavailable_deposit_ids: Vec<sui::types::Address>,
}
```

#### `NetworkActions`

```rust
pub struct NetworkActions {
    pub(super) client: NexusClient,
}
```

#### `NetworkActions::configure_leader_registry`

```rust
pub async fn configure_leader_registry(
        &self,
        unbonding_duration_ms: u64,
        min_stake_us: u64,
        max_transaction_budget_mist: u64,
    ) -> Result<ConfigureLeaderRegistryResult, NexusError> {
```

#### `NetworkActions::fetch_priority_fee_vault_state`

```rust
pub async fn fetch_priority_fee_vault_state(
        &self,
    ) -> Result<PriorityFeeVaultInnerV1, NexusError> {
```

#### `NetworkActions::priority_fee_share`

```rust
pub async fn priority_fee_share(
        &self,
        leader_cap: sui::types::Address,
    ) -> Result<u64, NexusError> {
```

#### `NetworkActions::quote_priority_fee_withdrawal`

```rust
pub async fn quote_priority_fee_withdrawal(
        &self,
        leader_cap: sui::types::Address,
        share_to_withdraw: u64,
    ) -> Result<PriorityFeeWithdrawalQuote, NexusError> {
```

#### `NetworkActions::configure_priority_fee_vault`

```rust
pub async fn configure_priority_fee_vault(
        &self,
        exchange_rate_million_mists_us: u64,
    ) -> Result<ConfigurePriorityFeeVaultResult, NexusError> {
```

#### `NetworkActions::swap_us_for_sui`

```rust
pub async fn swap_us_for_sui(
        &self,
        us_coin: sui::types::Address,
        min_sui_out: u64,
    ) -> Result<SwapUsForSuiResult, NexusError> {
```

#### `NetworkActions::drain_priority_fee_vault_sui`

```rust
pub async fn drain_priority_fee_vault_sui(
        &self,
        us_coin: sui::types::Address,
    ) -> Result<DrainPriorityFeeVaultSuiResult, NexusError> {
```

#### `NetworkActions::withdraw_priority_fee`

```rust
pub async fn withdraw_priority_fee(
        &self,
        leader_cap: sui::types::Address,
        share_to_withdraw: u64,
    ) -> Result<WithdrawPriorityFeeResult, NexusError> {
```

#### `NetworkActions::collect_priority_fee_deposits`

```rust
pub async fn collect_priority_fee_deposits(
        &self,
        leader_cap_id: sui::types::Address,
        batch_size: usize,
    ) -> Result<CollectPriorityFeeDepositsResult, NexusError> {
```


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.talus.network/reference/sdk/actions-network.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `build a script that syncs our docs to a CMS` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
