Skip to content

[P0] arka Rust SDK: publish CR8Client module contract (agent-side API) #11

@abhicris

Description

@abhicris

Goal

Define the public CR8Client surface that kcolbchain/arka will expose so any Rust-based AI agent can register on Create Protocol, deposit USDC, accept tasks, and settle fees — without depending on hand-rolled ABI calls. This is the agent-side counterpart to the Solidity AgentDeposit contract.

Scope (module contract only, not implementation)

  • CR8Client::register(profile) -> Result<AgentId> — binds a switchboard wallet to a registry slot.
  • CR8Client::deposit(amount_usdc) -> Result<TxHash> — pulls from the agent's USDC balance into AgentDeposit.
  • CR8Client::claim_task(task_id) -> Result<TaskHandle> / complete_task(handle, receipt) -> Result<Payout>.
  • CR8Client::balance() -> Balance with breakdown: idle USDC, Lucidly-parked syUSD, pending payouts.
  • Event subscription: CR8Client::watch() -> Stream<RegistryEvent> for dashboards and long-running agents.

Implementation lives under arka; this issue tracks the contract + typed error taxonomy we agree on before arka ships.

Success criterion

Document merged here as specs/arka-cr8-client.md with Rust trait signatures, error enum, and at least one end-to-end example in pseudo-Rust. A companion tracking issue opened on kcolbchain/arka to implement against this contract.

Related

kcolbchain / Abhishek Krishna

Metadata

Metadata

Assignees

No one assigned

    Labels

    documentationImprovements or additions to documentationenhancementNew feature or requesthelp wantedExtra attention is needed

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions