Venue Admin
Administrative operations for venue operators — pause trading, update configuration, and manage your venue.
The venue operator (the address that called createVenue) has exclusive administrative control over the venue. This role is immutable — there is no function to transfer venue ownership.
Pausing and Unpausing
Pause a venue to halt all trading and market creation. Existing orders remain on the book but cannot be matched or filled.
// Pause
const tx = await client.venue.setPaused(1n, true);
// Unpause
const tx = await client.venue.setPaused(1n, false);Pausing is scoped to individual venues — there is no global protocol pause. Use this for emergency situations or maintenance.
Updating Venue Configuration
Fees
Update trading fee tiers at any time. Changes take effect immediately for all subsequent trades:
const tx = await client.venue.updateFees({
venueId: 1n,
venueFeeBps: 150, // 1.50%
creatorFeeBps: 50, // 0.50% (carved from venue fee)
});Constraints:
venueFeeBpsmust be between 1 and 200creatorFeeBpsmust be ≤venueFeeBps
Venue Details and Access Control
Update the venue name, metadata, access control gates, and fee recipient:
const hash = await client.venue.updateVenue({
venueId: 1n,
name: 'Updated Venue Name',
metadata: '{"category": "sports"}',
tradingAccessControl: tradingAccessControl, // address or 0x0 for open
creationAccessControl: creationAccessControl, // address or 0x0 for open
feeRecipient: feeRecipient, // cannot be zero address
});Oracle Parameters
Update the UMA reward and minimum bond for future markets:
const hash = await client.venue.updateOracleParams({
venueId: 1n,
umaRewardAmount: parseUnits('10', 6), // 10 USDC
umaMinBond: parseUnits('5', 6), // 5 USDC
});What Can't Be Changed
Some parameters are permanently set at venue creation:
| Parameter | Updatable |
|---|---|
| Operator (owner) | No |
defaultTickSize | No |
marketCreationFee | No |
Reading Venue Data
Read the complete venue configuration on-chain:
const venueData = await publicClient.readContract({
address: diamondAddress,
abi: VenueFacetABI,
functionName: 'getVenue',
args: [venueId],
});Returns the full VenueData struct including fees, oracle params, access control addresses, and active status.
What's Next
- Fee Structure → — understand fee tiers and calculation
- Access Control → — gate who can trade and create markets
- Oracle Settings → — configure UMA resolution parameters