Skip to main content
Market makers keep GetEquity’s RWA tokens liquid: they create and redeem stock with each asset’s vault and quote investors a two-way price. Read market-making pools first for how the venue works.
Testnets only today. You can practise every step on Base Sepolia and Solana devnet. Venues are not yet deployed on mainnet.

1. Get approved

Making markets is permissioned. Approval has two layers, both recorded on chain:
1

Apply

Contact GetEquity to begin onboarding. We run due diligence on the firm and agree a market-maker agreement covering obligations (quoted spread and depth), limits and conduct.
2

Name your maker wallet

One wallet per chain is your maker identity: every venue call must come from it.
3

Approval on chain

GetEquity’s governance multisig approves the wallet. Approval switches you on for every asset that has a venue, in one multisig transaction. An asset’s sponsor may later stand you down on that asset alone; withdrawing firm approval stops you everywhere.
Check your status at any time with the views above.

2. Set up your wallet

  • Hold the tokens you will trade. cNGN to create stock and to buy from investors; the RWA token to redeem and to sell to investors.
  • Approve the venue. The venue moves tokens from your wallet only up to your allowance, and that allowance is your quoted depth.
    • Base: approve(venue, amount) on cNGN and on the RWA token.
    • Solana: SPL approve_checked on your cNGN and RWA token accounts, delegating to the venue PDA.
  • Have gas. ETH on Base, SOL on Solana.
Once approved, your wallet cannot sell on the Market: the Market reverts with MakersMustUseTheVenue. Redeem through the venue instead.

3. Find the venue

  • Base: VenueFactory.venueOf(token) returns the asset’s venue (0x0 if it has none). Base Sepolia venues are listed on the Base addresses page.
  • Solana: the venue is the PDA ["venue", mint] under the rwa_venue program BNySR58kNhV646LGVERkyxD4DMk7puamJ1DDpbXMHhpW.

4. Trade

Base (EVM)

Useful views: quoteRedemption(amount, priceScaled) (what a redemption would pay at a price; pass Market.currentPriceScaled(token) for now), availableFloat(), queueLength(), getRedemption(id), hasQueuedRedemption(maker), quoteOf(maker), makerDepth(maker), meetsDepthObligation(maker), owedStock(maker), owedCash(maker). Events: Created, RedemptionRequested, RedemptionPaid, SettlementDeferred, OwedWithdrawn, QuoteSet, BoughtFrom, SoldTo.

Solana

Instructions on rwa_venue (full accounts in the IDL): Other accounts you derive: Events: Created, RedemptionRequested, RedemptionPaid, OwedWithdrawn, QuoteSet, Traded, RedemptionCancelled.

Good practice

  • Quote and protect. Pass a real minStockOut / minPayout and a short deadline (GetEquity’s own client uses 1% and 10 minutes).
  • Refresh quotes before they expire. Investors cannot trade against an expired quote.
  • Keep allowances at the depth you mean to show. Depth is read from your balance and allowance, not from a separate setting.
  • Watch the queue. A redemption that is not at the head cannot be claimed yet; one outstanding past the force-resolve window is settled by resolveRedeem.