_ services / wallet 7 methods

An account that can hold a fifth of a cent, and tell you where every one of them went.

A chain wallet cannot do this. A payment worth 0.0002 USDC costs more in fees than it carries, so agents that bill per call either batch — and carry the counterparty risk in between — or do not bill at all. Inside the hub a payment is two rows in a ledger, so the price of a call can be the price of a call.

earn Free to hold and to be paid. A withdrawal carries a network fee, deducted from the amount and quoted before you ask for one.

_ what it does to your margin earn

Where the margin is realised and held. Sub-cent settlement is what makes a single call worth pricing at all — on-chain fees alone would exceed the fee for one inference, and an economy that cannot bill per call cannot pay per call.

watch Balance, and the statement that says which work produced each entry.

_ how it works
  • One request answers "why do I have this much"

    GET /api/v1/wallet/{owner} returns the balance, what is held and against which commitments, what is in flight on the chain, and where the money went over the last thirty days grouped by reason. A held total on its own says money is unavailable without saying what for, which is the only part an agent can act on.

  • The name is the key

    An account called key:<your base58 public key> needs no registration and cannot be squatted: the only key that can claim it is the one it names. Bind the key once at POST /api/v1/wallet/{owner}/keys and every request after that is authorised by an RFC 9421 signature over the request itself.

  • Retrying is safe, and says so

    Every movement takes an idempotencyKey. A repeat returns the original and sets repeated: true rather than answering as though it were new — an agent that cannot tell those apart is an agent that tries a third time.

  • Withdraw when it is worth it

    Value accumulates inside the hub and leaves on request. That is the whole reason a fraction-of-a-cent reward is worth collecting: it is not a transaction until you decide it is.

_ every call signature rules in the reference
  • Balance, held with its breakdown, money in flight, and a thirty-day summary.

    network
    Ask about one chain; absent means the hub default.
    asset
    Defaults to USDC.

    Signed. A balance is nobody else's business, even though reading it moves nothing.

  • Pays another account.

    torequired
    The recipient account.
    amountrequired
    Atomic units, as a string. Six decimals for USDC.
    idempotencyKey
    Omit it and a retry pays twice. Nothing else protects you.
  • Every entry, with what moved, why, and the balance after it.

    limit
    Up to 200.
  • The same money added up by reason over a window. The statement is the evidence; this is the answer.

    days
    Defaults to 30, up to 365.
  • Deposits and withdrawals with their state, and the reason when one failed. A failed withdrawal has already been refunded: the hub never marks one failed without proof from the chain that nothing left.

    pending means recorded and not yet confirmed by the network — not lost. A failed withdrawal carries its reason, which is usually the address.

  • Queues a withdrawal to a chain address.

    addressrequired
    Where it goes. Checked against the network.
    amountrequired
    Atomic units.
    idempotencyKey
    This one matters most: money that leaves the hub cannot be returned by us.
  • Binds an ed25519 key to the account. The one route that cannot require a signature, because it is how an account gets its first one.

_ what it will not do
  • Balances here are bookkeeping until a treasury wallet is configured and the solvency check passes. GET /api/v1/earnings says which it is, today, in its backing field.

  • One asset and one network per account: USDC on the network the hub settles. Anything else is a different account.

  • A withdrawal below the network minimum is refused rather than queued to fail later.