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
Goal
Define the public
CR8Clientsurface thatkcolbchain/arkawill 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 SolidityAgentDepositcontract.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 intoAgentDeposit.CR8Client::claim_task(task_id) -> Result<TaskHandle>/complete_task(handle, receipt) -> Result<Payout>.CR8Client::balance() -> Balancewith breakdown: idle USDC, Lucidly-parked syUSD, pending payouts.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.mdwith Rust trait signatures, error enum, and at least one end-to-end example in pseudo-Rust. A companion tracking issue opened onkcolbchain/arkato implement against this contract.Related
kcolbchain/arka— Rust AI-agent SDKkcolbchain/switchboard— wallet primitive the client sits on top of— kcolbchain / Abhishek Krishna