Skip to content
Block height specification no chain yet
Active validators 0 / 75 floor 7 · standby 0
Security tier not yet established
TPS · current specification
ADM in circulation 0 specification only
Network status Open view validators, blocks, mempool
Specification phase. Values shown are placeholders for layout. No live chain.
§ Docs · T.01

Send a shielded transaction.

The default mode of transferring ADM. Sender, recipient, amount and memo are encrypted before the transaction leaves the device; the chain sees the envelope, the validity proof, and the fee.

Shielded vs transparent state A side-by-side comparison of what observers can see for shielded versus transparent objects on Adamant. DEFAULT Shielded Existence visible Validity proof visible Fee visible Sender encrypted Recipient encrypted Amount encrypted OPT-IN Transparent Existence visible Validity proof n/a Fee visible Sender visible Recipient visible Amount visible
Privacy is structural · WP §7.1
§ 01 / Code

In Rust.

use adamant_sdk::{Client, Tx, Amount};
use adamant_sdk::address::StealthAddress;

#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = Client::new("wss://rpc.adamantprotocol.com").await?;
    let wallet = adamant_sdk::Wallet::from_seed_phrase(&std::env::var("ADM_SEED")?)?;

    // Derive a one-time recipient address from the recipient's published
    // viewing key (ML-KEM-768 encapsulation).
    let recipient = StealthAddress::derive(
        "vkpub1...",     // recipient's long-lived view pubkey
    )?;

    let tx = Tx::shielded_transfer()
        .from(wallet.address())
        .to(recipient)
        .amount(Amount::adm(10))               // 10 ADM
        .memo("invoice #42")                   // encrypted, included in envelope
        .build(&wallet)
        .await?;

    let hash = client.submit(tx).await?;
    println!("submitted: {}", hash);
    Ok(())
}

Behind the scenes: the SDK constructs a fresh stealth address, encrypts the body under ML-KEM-768, generates a Halo 2 proof of correct state transition, and packages it into a transaction envelope. The validator set verifies the proof; the body is decryptable only by the recipient’s view key.

§ 02 / What an observer sees

From the public view.

FieldVisible?
Transaction hashyes
Block heightyes
Fee · multi-dimyes
Validity proofyes
Encryption regimeyes
Senderencrypted
Recipientencrypted
Amountencrypted
Memoencrypted