Skip to content

Mint Group Tokens

Group minting is a write flow. Rust runner not available yet; code samples will be added once writes are supported.

Flow (future):

  • Deposit trusted collateral (personal/group tokens) via groupMint.
  • Receive newly minted group tokens; collateral stays in the group’s vault.
  • Redeem later via groupRedeem.

Read-only today:

  • Query group token balances and events.

Example: observe group token balances

use circles_rpc::{QueryMethods, RpcClient};
use circles_types::{FilterPredicate, OrderBy, QueryParams, TokenBalanceRow};
use reqwest::Url;
 
#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = RpcClient::http(Url::parse("https://rpc.aboutcircles.com/")?);
    let queries = QueryMethods::new(client);
 
    let rows: Vec<TokenBalanceRow> = queries
        .circles_query(QueryParams {
            namespace: "circles".into(),
            table: "tokenBalances".into(),
            columns: vec!["owner".into(), "token".into(), "balance".into()],
            filter: vec![FilterPredicate::equals("owner".into(), "0xGroupAddressHere").into()],
            order: vec![OrderBy::desc("balance".into())],
            limit: Some(50),
        })
        .await?;
 
    println!("token balances: {}", rows.len());
    Ok(())
}