Skip to main content

Projects

A project is the core organizational unit in Unwall. Each project is an isolated environment that contains a USDC wallet on Base chain, a set of API tokens, and a complete transaction ledger. There is no crossover between projects — an agent operating in Project A cannot access funds or tokens belonging to Project B.

What Is a Project?

Every project you create gives you three things:

USDC Wallet

A custodial wallet on Base chain, powered by Bridge.xyz. This is where your agent’s funds live.

API Tokens

Scoped bearer tokens that your agents use to authenticate. Each token has granular permissions.

Transaction Ledger

A complete history of every deposit, payment, and fee recorded via double-entry accounting.

Balance Model

Every project tracks four balance fields:
FieldTypeDescription
available_usdcintegerUSDC the agent can spend right now, in micro-USDC (1 USDC = 1,000,000)
pending_usdcintegerUSDC in transit or awaiting on-chain confirmation
available_usdintegerUSD equivalent of available balance, in cents
pending_usdintegerUSD equivalent of pending balance, in cents
The Supabase ledger is the source of truth for all balances. Balance is computed from completed transaction rows via ledger_get_balance. Balance is never served from cache when authorizing payments — it is always fetched fresh to prevent overdraw.

Atomic Operations

Balance modifications use ledger RPC functions with PostgreSQL advisory locks (pg_advisory_xact_lock) for per-project serialization. If two concurrent requests attempt to spend the last dollar, only one succeeds. The other receives an “Insufficient balance” error.

Wallet Address

Each project gets a Bridge.xyz custodial wallet address on Base chain for receiving USDC deposits. You can retrieve this address from the dashboard or via the API:
curl https://api.unwall.xyz/v1/stablecoin/address \
  -H "Authorization: Bearer aw_live_xxxxxxxxxxxx"
Response
{
  "chain": "base",
  "address": "0x742d35Cc6634C0532925a3b844Bc9e7595f2bD28",
  "currency": "usdc"
}
Only send USDC on the Base network to this address. Sending other tokens or using the wrong chain may result in lost funds.

Project Status

StatusMeaning
activeFully operational. Agents can read balances, send payments, and make x402 calls.
pausedTemporarily suspended. All API tokens for this project return 403 errors.
closedPermanently deactivated. No further operations allowed.
When a project is paused or closed, the token authentication middleware checks the project status and rejects requests before they reach the service layer.

Project Limits

The number of projects you can create depends on your plan tier:
PlanMax ProjectsTransaction Fee
Free12%
Pro51.5%
BusinessUnlimited1%
If you downgrade your plan, existing projects remain active. You cannot create new projects until you are under the limit for your current tier.

Creating a Project

Projects are created through the dashboard at app.unwall.xyz. Each new project is automatically provisioned with:
  1. A Bridge.xyz custodial wallet on Base chain
  2. An initial API token (displayed once at creation)
  3. A ledger account for double-entry balance tracking

Next Steps