30Customer Role
rolescustomerbuyertrading
Customer Role
🏠 Home > Roles > Customer
A Customer in Aurellion is any wallet that buys, trades, or stakes assets on the platform. Customers don't need to be verified — they connect a wallet and can immediately access the marketplace.
What Customers Can Do
| Action | Description | Contract |
|---|---|---|
| Buy on CLOB | Place limit/market buy orders for tokenised assets | OrderRouterFacet |
| Sell on CLOB | List purchased tokens for resale | OrderRouterFacet |
| P2P Trade | Create or accept direct offers | AuSysFacet |
| Stake in RWY | Commit tokens to processing opportunities | RWYStakingFacet |
| Add liquidity | Provide liquidity to AMM pools | CLOBFacet / pools |
| Claim rewards | Claim pool fees and RWY profits | CLOBFacet, RWYStakingFacet |
| Use faucet | Get test tokens on testnet | /customer/faucet |
Customer Routes
| Route | Description |
|---|---|
/customer/dashboard |
Overview: portfolio, active orders, recent trades |
/customer/trading |
Browse all tradeable asset classes |
/customer/trading/[id] |
Market page for a specific asset token |
/customer/trading/[id]/order |
Place an order for a specific asset |
/customer/trading/class/[className] |
All tokens in a class (e.g., all LIVESTOCK) |
/customer/p2p |
P2P marketplace |
/customer/p2p/create |
Create a P2P offer |
/customer/p2p/market/[className] |
P2P offers for a specific class |
/customer/pools |
AMM liquidity pool browser |
/customer/pools/[id] |
Individual pool — add/remove liquidity, view chart |
/customer/pools/[id]/add-liquidity |
Add liquidity form |
/customer/pools/create-pool |
Create a new AMM pool |
/customer/rwy |
RWY opportunity browser |
/customer/rwy/[id] |
Stake into a specific RWY opportunity |
/customer/rwy/my-stakes |
View and manage your staking positions |
/customer/faucet |
Testnet token faucet |
Buying an Asset Step-by-Step
1. Connect wallet via Privy
2. Navigate to /customer/trading
3. Browse asset classes or search by name
4. Select a market (e.g., East African Goats)
5. View order book depth (bids and asks)
6. Click "Buy" → order form opens
7. Enter: price (limit) or select "Market", quantity
8. Approve quote token spend (USDC.approve(diamond, amount))
9. Call placeOrder(baseToken, baseTokenId, quoteToken, price, amount, isBuy=true, TIF=GTC, expiry=0)
10. Transaction confirmed → order in book
11. When matched:
a. Simple trade (node already has tokens): tokens arrive in wallet
b. Physical delivery: BridgeFacet creates UnifiedOrder → logistics flow begins
12. Dashboard shows order statusPortfolio View
The customer dashboard (/customer/dashboard) aggregates:
- ERC-1155 token balances (assets held)
- Open CLOB orders (buy/sell)
- Active P2P offers
- RWY staking positions
- AMM LP positions
- Historical trades
Data comes from the Ponder indexer via GraphQL.
Wallet Requirements
- Any EVM-compatible wallet (MetaMask, Coinbase Wallet, etc.)
- Or Privy embedded wallet (email/social login)
- On Base Sepolia testnet: test USDC from faucet
- On mainnet: USDC or configured quote token
Order Management
Customers can manage their open orders:
- Cancel:
cancelOrder(orderId)returns escrowed tokens - View fills: Order history in dashboard
- Monitor delivery: UnifiedOrder status tracking for physical orders
Fee Expectations
When trading:
| Action | Fee |
|---|---|
| Market order (taker) | 0.1% of trade value |
| Limit order that matches (taker) | 0.1% |
| Limit order that is matched (maker) | 0.05% |
| Physical delivery orders | +2% logistics bounty, +0.25% protocol fee |