Skip to content

Mint Personal Tokens

Personal minting is encoded in the Hub (1 CRC/hour with demurrage). The Rust SDK now exposes it directly on HumanAvatar.

Available helpers:

  • personal_mint() to submit the mint transaction
  • stop_mint() when you need to halt minting
  • regular balance/event helpers for inspection before or after submission

Example: submit a personal mint

use std::sync::Arc;
 
use alloy_primitives::address;
use circles_sdk::{Avatar, EoaContractRunner, Sdk, config};
 
#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let runner = Arc::new(
        EoaContractRunner::connect(
            "https://rpc.aboutcircles.com/",
            "0xYOUR_PRIVATE_KEY",
        )
        .await?,
    );
    let sdk = Sdk::new(config::gnosis_mainnet(), Some(runner))?;
    let me = address!("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa");
 
    if let Avatar::Human(human) = sdk.get_avatar(me).await? {
        let submitted = human.personal_mint().await?;
        println!("submitted {} tx(s)", submitted.len());
    }
 
    Ok(())
}