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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions