Markets
Taco lists three markets at launch: BTC, ETH and BNB, open 24/7. All three are margined and settled in USDT, with whole-number leverage from 1× to 1,000×. A position gives you exposure to a price movement; it does not buy or hold the underlying asset. Markets are added, limited or delisted by governance; see Governance.
Oracles
Prices come from Pyth, with Chainlink as backup. Taco uses Pyth first and switches to Chainlink when Pyth has no price, an invalid price, or has not updated for more than 30 seconds. It switches back once Pyth recovers. The two feeds are never averaged.
- Used whenever it has a valid price
- Fetched and signed by the keeper every second
- Used when Pyth has no price, an invalid price or is stale for over 30 s
- Back to Pyth once it recovers
- 1 hour: no opens, no closes
- Then close-only at the last updated price
- No liquidations; admin restores trading when a price returns
Signed prices
A keeper fetches and signs prices every second. Each trade carries a signed price to the contract and executes at the latest signed price attached at execution. Because anyone can submit a transaction to the contract, it accepts a signed price only if it is no older than the last price already used in that market and no more than 3 seconds old.
The chart on the Trade page is built from Pyth's feed and stored by the backend. It is for reference; trades execute at signed prices.
Market pause
When neither Pyth nor Chainlink has a valid price for a market, that market is paused.
- 1Trading stops for 1 hour. No opening or closing. The app shows "Trading in this market is paused because of a data-source error."
- 2After 1 hour, close only. Positions can be closed at the last updated price. Opening stays disabled.
- 3No liquidations while the market is paused.
- 4Resume. Once either oracle has a valid price again, the admin address restores normal trading in that market.
Markets
Taco lists three markets at launch: BTC, ETH and BNB, open 24/7. All three are margined and settled in USDT, with whole-number leverage from 1× to 1,000×. A position gives you exposure to a price movement; it does not buy or hold the underlying asset. Markets are added, limited or delisted by governance; see Governance.
Oracles
Prices come from Pyth, with Chainlink as backup. Taco uses Pyth first and switches to Chainlink when Pyth has no price, an invalid price, or has not updated for more than 30 seconds. It switches back once Pyth recovers. The two feeds are never averaged.
- Used whenever it has a valid price
- Fetched and signed by the keeper every second
- Used when Pyth has no price, an invalid price or is stale for over 30 s
- Back to Pyth once it recovers
- 1 hour: no opens, no closes
- Then close-only at the last updated price
- No liquidations; admin restores trading when a price returns
Signed prices
A keeper fetches and signs prices every second. Each trade carries a signed price to the contract and executes at the latest signed price attached at execution. Because anyone can submit a transaction to the contract, it accepts a signed price only if it is no older than the last price already used in that market and no more than 3 seconds old.
The chart on the Trade page is built from Pyth's feed and stored by the backend. It is for reference; trades execute at signed prices.
Market pause
When neither Pyth nor Chainlink has a valid price for a market, that market is paused.
- 1Trading stops for 1 hour. No opening or closing. The app shows "Trading in this market is paused because of a data-source error."
- 2After 1 hour, close only. Positions can be closed at the last updated price. Opening stays disabled.
- 3No liquidations while the market is paused.
- 4Resume. Once either oracle has a valid price again, the admin address restores normal trading in that market.