Interface: OvercastChain<L>
Defined in: packages/overcast-core/src/protocol/chain.ts:27
The protocol's on-chain surface: authoritative reads (OvercastReader)
and signed writes (OvercastWriter, yielding the layer's submission
receipt L["receipt"]), merged into one object. Everything here touches the
settlement layer directly — it costs gas, needs the signer, and is
chain-specific — as opposed to the cheap, curated backend reads exposed on
app.api (an OvercastView).
Exposed to consumers as app.chain.
Extends
OvercastReader.OvercastWriter<L["receipt"]>
Type Parameters
| Type Parameter | Description |
|---|---|
L extends OvercastLayer | the OvercastLayer describing this settlement layer. |
Methods
acceptOffer()
acceptOffer(settlementOffer, collateralOffer): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:86
matches settlement and collateral offer
Parameters
| Parameter | Type | Description |
|---|---|---|
settlementOffer | SettlementOffer | - |
collateralOffer | CollateralOffer | - |
Returns
Promise<L["receipt"]>
Inherited from
addAuthorizedKey()
addAuthorizedKey(key): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:149
authorizes key to sign SignedOperations on the calling wallet's
behalf. Registers a signing-key record owned by the wallet; thereafter an
operator may submit that wallet's delegable calls (createCollateralOffer,
createSettlementOffer, exerciseOption) by presenting an operation signed
with key. The wallet must sign this transaction itself — you can only
authorize keys for yourself.
Parameters
| Parameter | Type | Description |
|---|---|---|
key | string | the public key to authorize as a signer for this wallet. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.addAuthorizedKey
balance()
balance(user, asset): Promise<bigint>;
Defined in: packages/overcast-core/src/protocol/reader.ts:14
Gets the current balance for an asset in the protocols vault
Parameters
| Parameter | Type | Description |
|---|---|---|
user | string | - |
asset | { address: string; cashLike?: boolean; chain?: string; coinGeckoId?: string; decimals?: number; lastKnownPriceUsd?: number; logoUrl?: string; name?: string; rwa?: boolean; symbol?: string; volatility?: number; } | - |
asset.address | string | The on-chain address (mint) that uniquely identifies the asset. |
asset.cashLike? | boolean | Whether or not the asset can be treated similar to cash |
asset.chain? | string | The chain the asset lives on. |
asset.coinGeckoId? | string | CoinGecko id for price lookups, e.g. usd-coin. |
asset.decimals? | number | Number of decimal places in the asset's native units. |
asset.lastKnownPriceUsd? | number | Last 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. |
asset.logoUrl? | string | Logo of the coin |
asset.name? | string | Human name of the asset. |
asset.rwa? | boolean | Whether the asset is a real-world asset (RWA) — e.g. tokenized private equity — rather than a native crypto asset. |
asset.symbol? | string | Human ticker, e.g. USDC. |
asset.volatility? | number | Volatility of the asset |
Returns
Promise<bigint>
Inherited from
closeCollateralOffer()
closeCollateralOffer(collateralOffer, operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:63
closes an open collateral offer, refunding its escrowed collateral to the maker's deposit vault
Parameters
| Parameter | Type | Description |
|---|---|---|
collateralOffer | CollateralOffer | the offer to close (must match the on-chain, content-addressed offer exactly). |
operation? | SignedOperation | delegated authorization by the offer's maker; the operation must have been signed over this offer's id. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.closeCollateralOffer
closeSettlementOffer()
closeSettlementOffer(settlementOffer, operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:76
closes an open settlement offer, refunding its escrowed premium to the taker's deposit vault
Parameters
| Parameter | Type | Description |
|---|---|---|
settlementOffer | SettlementOffer | the offer to close (must match the on-chain, content-addressed offer exactly). |
operation? | SignedOperation | delegated authorization by the offer's taker; the operation must have been signed over this offer's id. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.closeSettlementOffer
createCollateralOffer()
createCollateralOffer(collateralOffer, operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:39
creates a new collateral offer
Parameters
| Parameter | Type | Description |
|---|---|---|
collateralOffer | CollateralOffer | - |
operation? | SignedOperation | delegated authorization by the offer's maker; the operation must have been signed over this exact offer. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.createCollateralOffer
createSettlementOffer()
createSettlementOffer(settlementOffer, operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:50
creates a new settlement offer
Parameters
| Parameter | Type | Description |
|---|---|---|
settlementOffer | SettlementOffer | - |
operation? | SignedOperation | delegated authorization by the offer's taker; the operation must have been signed over this exact offer. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.createSettlementOffer
deposit()
deposit(deposit): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:131
deposits funds into the depositor's protocol escrow vault
Parameters
| Parameter | Type | Description |
|---|---|---|
deposit | DepositParams | - |
Returns
Promise<L["receipt"]>
Inherited from
exerciseClaims()
exerciseClaims(option, user): Promise<bigint>;
Defined in: packages/overcast-core/src/protocol/reader.ts:69
returns the user balance of exercise claims for the given option
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
user | string | - |
Returns
Promise<bigint>
Inherited from
exerciseClaimsSupply()
exerciseClaimsSupply(option): Promise<bigint>;
Defined in: packages/overcast-core/src/protocol/reader.ts:49
Returns the total supply of exercise claims for the given option
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
Returns
Promise<bigint>
Inherited from
OvercastReader.exerciseClaimsSupply
exerciseOption()
exerciseOption(
option,
amount,
metadata?,
operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:103
exercies an option with the given amount
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
amount | bigint | - |
metadata? | Metadata | opaque settlement-layer metadata, forwarded to the layer verbatim (no interpretation). Defaults to empty; a physical layer needs none. Build it yourself or via OvercastSettlementLayer.buildMetadata. |
operation? | SignedOperation | delegated authorization by the option's taker; the operation must have been signed over the exercise payload (option offer ids, amount and metadata exactly as passed here). |
Returns
Promise<L["receipt"]>
Inherited from
getCollateralOffer()
getCollateralOffer(id): Promise<
| WithId<CollateralOffer>
| null>;
Defined in: packages/overcast-core/src/protocol/reader.ts:37
Look up a single collateral offer by its content-address Id, or
null when no such offer exists on-chain.
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<
| WithId<CollateralOffer>
| null>
Inherited from
OvercastReader.getCollateralOffer
getOption()
getOption(collateralOfferId, settlementOfferId): Promise<
| WithId<MarketOption>
| null>;
Defined in: packages/overcast-core/src/protocol/reader.ts:28
Look up a single market option by the content-address ids of the two offers
it was matched from, or null when no such option exists on-chain.
An option's on-chain account is keyed by its (collateralOffer, settlementOffer) id pair (the seeds of its PDA), not by its own
content-address hash — so those two ids, rather than the option id, are how
it is fetched directly without scanning. The returned option carries its own
content-address Id (the one the RFQ flow / storage use) on id.
TODO: we should make this just a single id
Parameters
| Parameter | Type |
|---|---|
collateralOfferId | string |
settlementOfferId | string |
Returns
Promise<
| WithId<MarketOption>
| null>
Inherited from
getSettlementOffer()
getSettlementOffer(id): Promise<
| WithId<SettlementOffer>
| null>;
Defined in: packages/overcast-core/src/protocol/reader.ts:43
Look up a single settlement offer by its content-address Id, or
null when no such offer exists on-chain.
Parameters
| Parameter | Type |
|---|---|
id | string |
Returns
Promise<
| WithId<SettlementOffer>
| null>
Inherited from
OvercastReader.getSettlementOffer
redeemClaims()
redeemClaims(option, user): Promise<bigint>;
Defined in: packages/overcast-core/src/protocol/reader.ts:62
returns the user balance of redeem claims for the given option
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
user | string | - |
Returns
Promise<bigint>
Inherited from
redeemClaimsSupply()
redeemClaimsSupply(option): Promise<bigint>;
Defined in: packages/overcast-core/src/protocol/reader.ts:55
Returns the total supply of redeem claims for the given option
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
Returns
Promise<bigint>
Inherited from
OvercastReader.redeemClaimsSupply
redeemOption()
redeemOption(
option,
amount,
metadata?,
operation?): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:120
redeems an option with the given amount
Parameters
| Parameter | Type | Description |
|---|---|---|
option | MarketOption | - |
amount | bigint | - |
metadata? | Metadata | opaque settlement-layer metadata, forwarded to the layer verbatim (see exerciseOption). |
operation? | SignedOperation | delegated authorization by the option's maker; the operation must have been signed over the redeem payload (option offer ids, amount and metadata exactly as passed here). |
Returns
Promise<L["receipt"]>
Inherited from
removeAuthorizedKey()
removeAuthorizedKey(key): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:159
revokes a key previously authorized via addAuthorizedKey, closing
its signing-key record (the rent is refunded to the wallet). Operations
signed with key are rejected afterwards. The wallet must sign this
transaction itself.
Parameters
| Parameter | Type | Description |
|---|---|---|
key | string | the public key to deauthorize. |
Returns
Promise<L["receipt"]>
Inherited from
OvercastWriter.removeAuthorizedKey
withdraw()
withdraw(withdraw): Promise<L["receipt"]>;
Defined in: packages/overcast-core/src/protocol/writer.ts:137
withdraws funds from the withdrawer's protocol escrow vault
Parameters
| Parameter | Type | Description |
|---|---|---|
withdraw | WithdrawParams | - |
Returns
Promise<L["receipt"]>