Skip to main content

Overview

Camino Treasury is built around a few key concepts that work together to provide comprehensive treasury management for crypto organizations. Understanding these concepts will help you make the most of the platform.

Organizations

What is an Organization?

An organization is the top-level entity in Camino Treasury. It represents your company, DAO, or team and contains all your wallets, transactions, and team members.
Each API key is scoped to a single organization. All data returned by the API is isolated to that organization.

Organization Features

  • Centralized management of all treasury operations
  • Team member access control
  • Audit trail of all activities
  • Consolidated reporting across wallets

Wallets

Wallets are the crypto addresses connected to your organization. Each wallet is identified by its on-chain Ethereum address.

Wallet Properties

PropertyDescription
AddressBlockchain address (e.g., 0x742d35...)
LabelHuman-readable name (1-100 characters)
Created AtWhen the wallet was added
Wallet addresses must be unique within an organization. The zero address (0x0000...0000) is not allowed.

Balances

Token Tracking

Camino Treasury tracks ERC-20 token balances for each wallet using on-chain multicall queries. Balances are queried per wallet address on a specific chain.

Balance Data

The balance endpoint returns an array of token balances:
{
  "data": [
    {
      "token": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48",
      "name": "USDC",
      "symbol": "USDC",
      "raw": "25000500000",
      "decimals": 6
    },
    {
      "token": "0xdac17f958d2ee523a2206206994597c13d831ec7",
      "name": "USDT",
      "symbol": "USDT",
      "raw": "10000000000",
      "decimals": 6
    }
  ],
  "count": 2
}
FieldDescription
tokenToken contract address
nameToken name (e.g., “USDC”)
symbolToken symbol (e.g., “USDC”)
rawRaw balance as a string (for bigint precision)
decimalsToken decimal places (e.g., 6 for USDC)

Chain-Scoped Queries

Balance queries are scoped to a specific chain and wallet address using the GET /{chainId}/balances/{address} endpoint.

Transactions

Transaction Lifecycle

Transactions in Camino Treasury track on-chain operations:
1

Submit

A transaction is submitted on-chain and then recorded in Camino with its hash via POST /{chainId}/transactions.
2

Pending

Transaction starts in pending status while awaiting confirmation. An async job begins indexing the transaction.
3

Confirmed or Failed

Once the transaction is confirmed on-chain, the status updates to confirmed and the receipt is stored. If it fails, the status becomes failed.

Transaction Types

TypeDescription
depositDepositing stablecoins into the C0 yield token
withdrawalWithdrawing C0 back to stablecoins
yieldYield-related operations (e.g., claiming rewards)
approvalERC-20 token approval transactions
otherAny other transaction type

Transaction Status

StatusDescription
pendingSubmitted, awaiting on-chain confirmation
confirmedSuccessfully confirmed on-chain
failedTransaction failed on-chain

Pagination

Transaction listing uses cursor-based pagination. Each response includes a pagination object:
{
  "data": [...],
  "count": 20,
  "pagination": {
    "hasMore": true,
    "nextCursor": "2024-01-15T10:30:00.000Z"
  }
}
Pass nextCursor as the cursor query parameter to fetch the next page.

Receipts

When a transaction is confirmed, its on-chain receipt is stored. The receipt includes blockNumber, blockHash, transactionIndex, from, to, and EVM status code. Retrieve it via GET /{chainId}/transactions/{hash}.

Deposits & Withdrawals

Camino supports depositing stablecoins (USDC or USDT) into the C0 yield-bearing token and withdrawing back to stablecoins.

Preparing Transactions

The deposit and withdraw prepare endpoints return an ordered list of transaction steps that must be signed and submitted on-chain:
  1. Reset Approval (USDT only) - Reset an existing non-zero allowance to zero
  2. Approve - Approve the swap contract to spend your tokens
  3. Swap - Execute the deposit or withdrawal
Each step includes the to address, encoded data, and value — ready to be signed by the wallet.

Summary

Both endpoints return a summary with the input/output token symbols, the human-readable amount, and the raw amount in the token’s smallest unit.

Yield Estimation

The yield estimate endpoint calculates projected earnings for a wallet’s C0 token balance.

How It Works

  • Reads the wallet’s C0 balance and the current M token earner rate
  • Converts the continuous compounding rate to APY
  • Applies the Conduit 10% fee to get the net APY
  • Calculates daily, monthly, and annual yield projections

Response

{
  "earning": "5000000000000000000",
  "decimals": 18,
  "rate": { "apy": 0.045 },
  "dailyYield": "618581054687",
  "monthlyYield": "18557431646112",
  "annualYield": "225000000000000000"
}
All yield values are in raw C0 units (18 decimals).

Webhooks

Webhooks allow you to receive real-time notifications when transaction statuses change.

Events

EventDescription
transaction.confirmedA tracked transaction was confirmed on-chain
transaction.failedA tracked transaction failed on-chain

Wallet Filtering

When creating a webhook, you can optionally pass a list of wallet addresses to only receive events for those specific wallets. If omitted, the webhook fires for all wallets in the organization.

Signature Verification

Each webhook is created with a signing secret (prefixed with whsec_). Use this secret to verify the HMAC signature on incoming webhook payloads to ensure they were sent by Camino.

Permissions & Roles

Camino Treasury uses role-based access control (RBAC) to manage team permissions.

Roles

Owner

Full Access
  • All permissions
  • Manage billing
  • Delete organization
  • Add/remove members

Admin

Management Access
  • Manage wallets
  • Create transactions
  • View all data

Member

Read-Only Access
  • View wallets
  • View balances
  • View transactions

Activity & Audit Trail

All actions in Camino Treasury are logged, including:
  • Wallet additions and removals
  • Transaction creation and status changes
  • Team member changes
  • Balance updates

Best Practices

Security

Principle of Least Privilege

Give team members only the permissions they need

Regular Audits

Review activity logs regularly for suspicious activity

Separate Wallets

Use separate wallets for operations vs. long-term storage

Test First

Test with small amounts before large operations

Operations

  1. Label Your Wallets - Use clear, descriptive labels for easy identification
  2. Monitor Balances - Regularly check balances across your wallets
  3. Track Everything - Record all transactions for a complete audit trail
  4. Use Webhooks - Set up webhooks for real-time transaction status notifications

Next Steps

Glossary

A blockchain account controlled by a private key, capable of signing transactions directly.
A standard interface for fungible tokens on the Ethereum blockchain.
The yield-bearing token in Camino Treasury. Users deposit USDC or USDT to receive C0, which earns yield from the M token protocol.
The rate of return earned on an investment over one year, accounting for compound interest.
The transaction fee paid to execute operations on the blockchain.
Financial services and protocols built on blockchain technology without traditional intermediaries.