Build
Stock market
A stock market is the same GullyCorePad as a Launchpad or DEX, with kind: "stocks". Its site lists only tokenised-stock pairs: every Gully Core pool on the chain that trades a tokenised stock, with no launch surface.
Create one at Build a Stock Market. Ownership and admins work as on Build a Launchpad.
What each stock pair shows
| Shown | Read from |
|---|---|
| Open, closed and the next open or close (UTC) | the pool's market-hours hook, with the issuer's holidays and early closes |
| Halted | the hook: an issuer, guardian or owner halt stops trading until resumed |
| Price band | the hook: a swap that would leave the band around the reference price is refused |
| Reference price and its age | the band oracle, from a Chainlink feed |
| Feed | Chainlink's feed for the stock, its price, age and the block it was read at |
| Issuer note | the token's own controls: pause, blocklist, burn, upgrade, share multiplier |
| Price, volume, trades, liquidity | the pool, as on any DEX |
- A pool without a market-hours hook trades around the clock. The site says so instead of drawing a session.
- The hook keeps UTC. US exchanges move with daylight saving, so the pool's issuer resets the session hours at each change.
- A tokenised stock is a security its issuer controls. The issuer can pause it or block an address, which can stop a pool from trading.
- Where market hours are not yet available on a chain, the site shows "Coming soon" in their place.
Price-band oracles
A stock pool's market-hours hook asks an IPriceBandOracle for referencePrice(poolId) from inside the swap, as a static call capped at 200,000 gas. It treats a revert, a zero or a stale timestamp as a reason to stop trading.
| Contract | Reference price from | Notes |
|---|---|---|
ChainlinkPriceBandAdapter | One Chainlink stock/USD feed | For a stock quoted in a dollar stablecoin. |
ChainlinkCrossPriceBandAdapter | Stock/USD divided by quote/USD | For a stock quoted in the native coin. Each leg has its own heartbeat and the older one is reported. |
ManualPriceBandOracle | A bounded publisher | Each update may move the reference at most a set percentage, against an anchor, with a minimum interval between updates. |
PythPriceBandAdapter | Pyth, pulled | refresh(poolId) is permissionless and caches the price. referencePrice is one storage read. |
Stock premiums
The stock premiums board shows what each tokenised stock trades at on chain beside the market price of what it tracks, and the premium or discount between them. It needs no wallet. Every figure names its source and when it was read.
| Figure | Where it comes from |
|---|---|
| Market price | The token's Chainlink price feed. Where the feed prices the share rather than the token, it is multiplied by the token's own share multiplier, read on chain. |
| On-chain price | The middle of a small buy and sell of the token quoted on chain, before Gully Core's routing fee. |
| Gap | On-chain price over market price, minus one: a premium above the market price, a discount below it. |
While the US market is in session the gap is measured against the live feed. When it is closed (nights, weekends, exchange holidays) it is measured against the last price before the close, and the board says "vs last close" with the date.
A row shows no gap, and says why in plain words, whenever the two prices are not the same thing right now:
- the market price is out of date for the session, or predates the last close;
- the feed prices the share and the token's share multiplier could not be read;
- nothing on chain quotes the token, only one side quotes, or the buy and sell prices are too far apart to call one price;
- no price feed exists for that token on that chain.
Fees
On the pools your stock market creates, Gully takes a flat 0.30% of every trade and nothing else. See Fees. You may also set your own swap fee (0 to 1%), paid to your wallet on swaps through your site. A fill routed to another venue pays the router's routing fee. See Router. Nothing else is added for stocks.
Creating the site costs the same flat site fee as any Launchpad or DEX, read from the contract.
Wrong or missing? Tell us at @Gully_Labs.