#blockchain-wallet #blockchain #web3 #circle #wallet

circle-developer-controlled-wallets

Rust client for the Circle Web3 Services Developer-Controlled Wallets API

1 unstable release

Uses new Rust 2024

0.1.0 Feb 27, 2026

#618 in HTTP client


Used in circle-cli

Apache-2.0

89KB
1.5K SLoC

circle-developer-controlled-wallets

crates.io docs.rs License: Apache-2.0 Rust

Async Rust client for the Circle Web3 Services Developer-Controlled Wallets API.

With Developer-Controlled Wallets, your backend service manages signing keys on behalf of users, enabling a seamless UX without user-managed private keys.

Installation

[dependencies]
circle-developer-controlled-wallets = "0.1"
tokio = { version = "1", features = ["rt-multi-thread", "macros"] }

Quick Start

use circle_developer_controlled_wallets::
    {DeveloperWalletsClient, models::wallet::ListWalletsParams};

#[tokio::main]
async fn main() -> Result<(), circle_developer_controlled_wallets::Error> {
    let client = DeveloperWalletsClient::new("your_api_key");

    let params = ListWalletsParams::default();
    let resp = client.list_wallets(&params).await?;
    for wallet in &resp.data.wallets {
        println!("Wallet {:?} on {:?}", wallet.id, wallet.blockchain);
    }
    Ok(())
}

API Coverage

Area Endpoints
Wallet Sets List wallet sets, Get wallet set
Wallets List wallets, Get wallet, Create wallet, List balances, List NFTs
Transactions Initiate transaction, List transactions, Get transaction, Cancel transaction
Signing Sign message, Sign typed data
Tokens Get token
Addresses Validate address

Authentication

Obtain an API key from the Circle Developer Console and pass it to the client constructor, or set the CIRCLE_API_KEY environment variable.

License

Licensed under the Apache-2.0 License.

Dependencies

~26–42MB
~622K SLoC