anda_web3_client 0.16.0

The Rust SDK for Web3 integration in non-TEE environments.
Documentation

anda_web3_client

anda_web3_client is a Rust SDK for Web3 integration in non-TEE environments.

Overview

This crate provides a concrete Web3ClientFeatures implementation for Anda agents running outside of a TEE (Trusted Execution Environment). It backs the engine's Web3 context with an ic-agent-based client and local key derivation, so no TEE hardware is required.

Features

  • ICP canister calls: Query and update Internet Computer canisters through ic-agent.
  • Signed HTTP & CBOR-RPC: Make plain and identity-signed HTTPS requests, plus signed CBOR-RPC calls (ICP-style signed envelopes).
  • Deterministic key derivation: Derive AES-256-GCM keys and Ed25519 / secp256k1 keys (ECDSA and BIP-340 Schnorr) from a 48-byte root secret, byte-for-byte compatible with the TEE gateway.
  • COSE integration: Interact with the IC-COSE canister via the CoseSDK trait.
  • Non-TEE compatible: Designed for execution in standard environments.

Feature flags: client (the generic non-TEE client), tee (a TEE gateway-backed client), and full (both). The default build enables neither.

Use Case

Use anda_web3_client (the client feature) when your agent needs ICP canister access, signed HTTP/RPC calls, and key derivation but does not require the security guarantees of a TEE. For TEE-protected interactions, use the tee feature or the full Anda engine with TEE support.

Endpoints passed to the signed HTTP/RPC calls must be trusted: requests are signed with the client identity before being sent, so a hostile endpoint receives a valid signed request.

License

Copyright © 2026 LDC Labs.

ldclabs/anda is licensed under the MIT License. See the MIT license for the full license text.