Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Gas Deposits

Pre-Alpha Disclaimer: This is an early pre-alpha release for exploring the SDK and starting development only. There is no real MPC signing — all signatures are generated by a single mock signer, not a distributed network. Do not submit any real transactions for signing or rely on any security guarantees. The dWallet keys, trust model, and signing protocol are not final; do not rely on any key material until mainnet. All interfaces, APIs, and data formats are subject to change without notice. The Solana program and all on-chain data will be wiped periodically and everything will be deleted when we transition to Ika Alpha 1. This software is provided “as is” without warranty of any kind; use is entirely at your own risk and dWallet Labs assumes no liability for any damages arising from its use.

Pre-Alpha Rent Model

In the pre-alpha, dWallet accounts use standard Solana rent. There is no separate deposit or fee system – the payer account in each instruction pays the rent for newly created PDAs.

Rent Calculation

The dWallet program uses a simplified rent formula:

#![allow(unused)]
fn main() {
fn minimum_balance(data_len: usize) -> u64 {
    (data_len as u64 + 128) * 6960
}
}

This approximation of the Solana rent-exempt minimum is used for all PDA creation.

Rent Costs by Account Type

AccountSize (bytes)Approximate Rent (lamports)
DWallet~104~1,615,680
MessageApproval287~2,890,800
Proposal (voting example)195~2,250,480
VoteRecord (voting example)69~1,371,480

Payer Account

Every instruction that creates a PDA requires a payer account:

  • Must be writable and signer
  • Must have sufficient lamports to cover rent
  • Is debited via CreateAccount system instruction

In the voting example, the payer is typically the transaction fee payer:

#![allow(unused)]
fn main() {
CreateAccount {
    from: payer,
    to: proposal_account,
    lamports: minimum_balance(PROPOSAL_LEN),
    space: PROPOSAL_LEN as u64,
    owner: program_id,
}
.invoke_signed(&[signer])?;
}

Future: Production Gas Model

In production, the Ika network will have a gas model for signing operations. This may include:

  • Presign allocation fees
  • Signing operation fees
  • Staking requirements for validators

The exact model is not finalized. The pre-alpha uses no signing fees – only standard Solana rent for account creation.