Skip to content

SDK Methods (Rust)

Rust exposes two layers: the high-level circles-sdk facade and the lower-level circles-rpc method namespaces.

High-level circles-sdk

  • Sdk: avatar_info, get_avatar, create_profile, get_profile, register_human, register_organisation, register_group, group_members, group_collateral, group_holders, and the optional referrals() client.
  • HumanAvatar: balances, trust, history, profile writes, personal minting, path-based transfers, direct transfers, replenish, invitation/referral helpers, and group-token mint/redeem helpers.
  • OrganisationAvatar: trust, profile writes, path/direct transfer, replenish/max-replenish, and group-token mint/redeem helpers.
  • BaseGroupAvatar: trust/member admin, owner/service/fee/membership-condition writes, path/direct transfer, replenish, and profile writes.
  • Runners: EoaContractRunner, SafeContractRunner, and SafeExecutionBuilder.

Lower-level circles-rpc

  • QueryMethods: circles_query, paged_query
  • BalanceMethods: get_total_balance
  • EventsMethods: HTTP fetch plus websocket subscriptions
  • PathfinderMethods: RPC pathfinding endpoints
  • AvatarMethods, GroupMethods, TokenMethods, TokenInfoMethods, TrustMethods, InvitationMethods, TransactionMethods, SearchMethods, TablesMethods, NetworkMethods, HealthMethods

Example: token info lookup

use circles_rpc::{RpcClient, TokenInfoMethods};
use reqwest::Url;
 
#[tokio::main]
async fn main() -> anyhow::Result<()> {
    let client = RpcClient::http(Url::parse("https://rpc.aboutcircles.com/")?);
    let tokens = TokenInfoMethods::new(client);
 
    let info = tokens.get_token_info("0xTokenAddressHere".parse()?).await?;
    println!("token info: {:?}", info);
    Ok(())
}

The remaining parity gap is no longer “writes are missing.” It is mostly browser-hosted Safe execution plus some convenience-surface and service/auth polish.