Skip to main content

Interface: ServerToClientEvents

Defined in: packages/overcast-core/src/rfq/events.ts:385

Server→client broadcasts, keyed by event name. Use as the first type parameter on a client Socket<...> and the second on the server Server<...>, so .on(...) / .emit(...) are checked on both ends.

Properties

error

error: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:393

Parameters

ParameterType
payload{ code: | "NOT_REGISTERED" | "WRONG_ROLE" | "VALIDATION_FAILED" | "RFQ_NOT_FOUND" | "RFQ_NOT_OPEN" | "QUOTE_NOT_FOUND" | "NOT_OWNER" | "ALREADY_ACCEPTED" | "BAD_SIGNATURE" | "SETTLEMENT_SUBMIT_FAILED" | "COLLATERAL_SUBMIT_FAILED" | "ACCEPT_OFFER_FAILED" | "INTERNAL"; message: string; }
payload.code| "NOT_REGISTERED" | "WRONG_ROLE" | "VALIDATION_FAILED" | "RFQ_NOT_FOUND" | "RFQ_NOT_OPEN" | "QUOTE_NOT_FOUND" | "NOT_OWNER" | "ALREADY_ACCEPTED" | "BAD_SIGNATURE" | "SETTLEMENT_SUBMIT_FAILED" | "COLLATERAL_SUBMIT_FAILED" | "ACCEPT_OFFER_FAILED" | "INTERNAL"
payload.messagestring

Returns

void


newQuote

newQuote: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:387

Parameters

ParameterTypeDescription
payload{ creator: Address; details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }; expiry: number; operation: { curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; }; quoteId: string; rfqId: string; }-
payload.creatorAddressThe creator of the quote.
payload.details{ borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }-
payload.details.borrowAllowedboolean-
payload.details.collateralAmountstring-
payload.details.collateralAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domainnumber-
payload.details.endTimestampnumber-
payload.details.premiumAmountstring-
payload.details.premiumAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmountstring-
payload.details.settlementAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayerstring-
payload.details.startTimestampnumber-
payload.expirynumberWhen this quote becomes invalid.
payload.operation{ curve: SignatureCurve; digest: Bytes32; expiry: number; salt: Bytes32; signature: Hex; signingKey: Bytes32; }The signed offer operation the quoter authorized this quote with.
payload.operation.curveSignatureCurveThe curve that was used to sign the digest
payload.operation.digestBytes32The digest that has been signed
payload.operation.expirynumberUnix seconds after which the operation is no longer valid.
payload.operation.saltBytes32Random per-operation salt (nonce) for replay protection.
payload.operation.signatureHexed25519 signature over the operation digest — 64 raw bytes in hex.
payload.operation.signingKeyBytes32The public key that produced signature.
payload.quoteIdstring-
payload.rfqIdstring-

Returns

void


newRfq

newRfq: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:386

Parameters

ParameterTypeDescription
payload{ creator: Address; details: { borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount?: string; settlementAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer?: string; startTimestamp?: number; }; domain: number; expiry: number; options?: { [key: string]: unknown; responder?: Bytes32[]; }; rfqId: string; side: "TAKER" | "MAKER"; }-
payload.creatorAddressThe creator of the RFQ.
payload.details{ borrowAllowed?: boolean; collateralAmount?: string; collateralAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain?: number; endTimestamp?: number; premiumAmount?: string; premiumAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount?: string; settlementAsset?: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer?: string; startTimestamp?: number; }Curated details of the RFQ.
payload.details.borrowAllowed?boolean-
payload.details.collateralAmount?string-
payload.details.collateralAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domain?number-
payload.details.endTimestamp?number-
payload.details.premiumAmount?string-
payload.details.premiumAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmount?string-
payload.details.settlementAsset?{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayer?string-
payload.details.startTimestamp?number-
payload.domainnumberThe deployment this RFQ is for, so a subscriber can filter by chain even though details is partial. Authoritative over details.domain.
payload.expirynumberWhen this RFQ becomes invalid.
payload.options?{ [key: string]: unknown; responder?: Bytes32[]; }RFQ options; there might be an unknown option in the future.
payload.options.responder?Bytes32[]Optional list that are allowed to respond. If not provided, everyone can respond
payload.rfqIdstring-
payload.side"TAKER" | "MAKER"RFQ is designed in a way that it is side un-aware. Both makers or takers of options can create RFQs.

Returns

void


quoteAccepted

quoteAccepted: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:388

Parameters

ParameterTypeDescription
payload{ details: { borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }; maker: Address; optionId: Bytes32; quoteId: string; rfqId: string; taker: Address; }-
payload.details{ borrowAllowed: boolean; collateralAmount: string; collateralAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; domain: number; endTimestamp: number; premiumAmount: string; premiumAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementAmount: string; settlementAsset: { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }; settlementLayer: string; startTimestamp: number; }-
payload.details.borrowAllowedboolean-
payload.details.collateralAmountstring-
payload.details.collateralAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.collateralAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.collateralAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.collateralAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.collateralAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.collateralAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.collateralAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.collateralAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.collateralAsset.logoUrl?stringLogo of the coin
payload.details.collateralAsset.name?stringHuman name of the asset.
payload.details.collateralAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.collateralAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.collateralAsset.volatility?numberVolatility of the asset
payload.details.domainnumber-
payload.details.endTimestampnumber-
payload.details.premiumAmountstring-
payload.details.premiumAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.premiumAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.premiumAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.premiumAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.premiumAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.premiumAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.premiumAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.premiumAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.premiumAsset.logoUrl?stringLogo of the coin
payload.details.premiumAsset.name?stringHuman name of the asset.
payload.details.premiumAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.premiumAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.premiumAsset.volatility?numberVolatility of the asset
payload.details.settlementAmountstring-
payload.details.settlementAsset{ address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; domain?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; }-
payload.details.settlementAsset.addressstringThe on-chain address (mint) identifying the asset, in the layer's own encoding (base58 on Solana, 0x… on an EVM chain) — see Address.
payload.details.settlementAsset.cashLike?booleanWhether or not the asset can be treated similar to cash
payload.details.settlementAsset.chain?stringThe chain the asset lives on, e.g. "base". A display label only — it is a caller-chosen name (see ChainName), carried by no wire payload and never used to key or look up an asset. domain is the identity.
payload.details.settlementAsset.coinGeckoId?stringCoinGecko id for price lookups, e.g. usd-coin.
payload.details.settlementAsset.decimals?numberNumber of decimal places in the asset's native units.
payload.details.settlementAsset.domain?numberThe protocol domain the asset lives on — the same separator OptionDetails.domain carries and every indexed event is tagged with, and the first half of the asset's key in an AssetRegistry. Optional because a single-domain deployment has nothing to disambiguate; such an asset registers as a wildcard, matching any domain that has no asset of its own at that address. Populate it as soon as one backend serves two domains — an address is only unique within a domain.
payload.details.settlementAsset.lastKnownPriceUsd?numberLast known USD price, sourced best-effort from an external feed (CoinGecko). Untrusted — do not use for settlement, signing, valuation, or any value transfer. It is informational only (e.g. showing an approximate notional in a picker), may be stale, missing, or wrong, and is never part of the canonical, content-addressed asset identity. Present only once a price has actually been fetched for the asset.
payload.details.settlementAsset.logoUrl?stringLogo of the coin
payload.details.settlementAsset.name?stringHuman name of the asset.
payload.details.settlementAsset.rwa?booleanWhether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset.
payload.details.settlementAsset.symbol?stringHuman ticker, e.g. USDC.
payload.details.settlementAsset.volatility?numberVolatility of the asset
payload.details.settlementLayerstring-
payload.details.startTimestampnumber-
payload.makerAddress-
payload.optionIdBytes32Content-address of the option the accepted quote settled into.
payload.quoteIdstring-
payload.rfqIdstring-
payload.takerAddress-

Returns

void


rfqCancelled

rfqCancelled: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:390

An RFQ was cancelled by its creator (or its creator disconnected).

Parameters

ParameterType
payload{ rfqId: string; }
payload.rfqIdstring

Returns

void


rfqExpired

rfqExpired: (payload) => void;

Defined in: packages/overcast-core/src/rfq/events.ts:392

An RFQ reached its TTL without being accepted.

Parameters

ParameterType
payload{ rfqId: string; }
payload.rfqIdstring

Returns

void