Skip to content

Response Schema

Each response has been mapped into a pydantic schema in a way that makes it easy to read and write codes that use them.

The classes identifying the response schema of an endpoint are the only ones ending with Response word, all other sub-schemes are used to identify the structures obtained from the responses.

Schema Enhancement

If some schema are incorrect or needs to be enhanced (optional/mandatory fields changes, incorrect datatype or schema update) feel free to open a pull request or issue by attaching:

- method
- endpoint call executed
- response obtained

cyhole.jupiter.schema

JupiterHTTPError

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.JupiterHTTPError[JupiterHTTPError]

              

              click cyhole.jupiter.schema.JupiterHTTPError href "" "cyhole.jupiter.schema.JupiterHTTPError"
            

Jupiter API returns an error schema on failed request that can be used to investigated the error. This schema is used to strandardise the HTTPErrors.

code class-attribute instance-attribute

code: str = Field(
    validation_alias=AliasChoices("errorCode", "error_code")
)

Error code returned by the API.

msg class-attribute instance-attribute

msg: str = Field(alias='error')

Error message returned by the API.

GetPriceData

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetPriceData[GetPriceData]

              

              click cyhole.jupiter.schema.GetPriceData href "" "cyhole.jupiter.schema.GetPriceData"
            

Model with the price information for a single token returned by the GET "Price" endpoint from Jupiter Price V3 API.

usd_price class-attribute instance-attribute

usd_price: float = Field(alias='usdPrice')

Token price in USD.

block_id class-attribute instance-attribute

block_id: int = Field(alias='blockId')

Solana block height at which the price was recorded, used to verify recency.

decimals instance-attribute

decimals: int

Token decimal places, used for UI display purposes.

price_change_24h class-attribute instance-attribute

price_change_24h: float = Field(alias='priceChange24h')

24-hour percentage price change. Negative values indicate a price decrease.

GetPriceResponse

Bases: RootModel[dict[str, GetPriceData | None]]


              flowchart TD
              cyhole.jupiter.schema.GetPriceResponse[GetPriceResponse]

              

              click cyhole.jupiter.schema.GetPriceResponse href "" "cyhole.jupiter.schema.GetPriceResponse"
            

Model referring to the response schema of the GET "Price" endpoint from Jupiter Price V3 API. The response is a flat mapping of token mint address to price data. A value of None indicates the price is unavailable or unreliable for that token.

data property

data: dict[str, GetPriceData | None]

Dictionary of token prices. Key is the mint address.

GetQuotePlatformFees

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetQuotePlatformFees[GetQuotePlatformFees]

              

              click cyhole.jupiter.schema.GetQuotePlatformFees href "" "cyhole.jupiter.schema.GetQuotePlatformFees"
            

Model refering to the platform fees of a route plan in GET "Quote" endpoint from Jupiter API.

amount_raw class-attribute instance-attribute

amount_raw: int | None = Field(default=None, alias="amount")

Raw amount of platform fee token to buy (before decimals).

fee_base_points class-attribute instance-attribute

fee_base_points: int = Field(alias='feeBps')

Amount of fees collected.
1% = 100, 50% = 5_000, 100% = 10_000.

GetQuoteSwapInfo

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetQuoteSwapInfo[GetQuoteSwapInfo]

              

              click cyhole.jupiter.schema.GetQuoteSwapInfo href "" "cyhole.jupiter.schema.GetQuoteSwapInfo"
            

Model defining all the SWAP info of a route plan in GET "Quote" endpoint from Jupiter API.

amm_key class-attribute instance-attribute

amm_key: str = Field(alias='ammKey')

Address of the AMM (Automated Market Maker) used for the swap.

amm_label class-attribute instance-attribute

amm_label: str | None = Field(default=None, alias='label')

Label of the AMM used for the swap.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

The address of the input token on the chain used to buy.

input_amount_raw class-attribute instance-attribute

input_amount_raw: str = Field(alias='inAmount')

Raw amount of input token to use to buy (before decimals).

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

The address of the output token on the chain that will bought.

output_amount_raw class-attribute instance-attribute

output_amount_raw: str = Field(alias='outAmount')

Raw amount of output token to buy (before decimals).

fee_token class-attribute instance-attribute

fee_token: str | None = Field(default=None, alias="feeMint")

Fee token address.

fee_amount_raw class-attribute instance-attribute

fee_amount_raw: str | None = Field(
    default=None, alias="feeAmount"
)

Raw amount of fee token to buy (before decimals).

input_amount property

input_amount: int

output_amount property

output_amount: int

fee_amount property

fee_amount: int | None

GetQuoteRoutePlan

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetQuoteRoutePlan[GetQuoteRoutePlan]

              

              click cyhole.jupiter.schema.GetQuoteRoutePlan href "" "cyhole.jupiter.schema.GetQuoteRoutePlan"
            

Model refering to the schema of a route plan in the GET "Quote" endpoint from Jupiter API.

swap_info class-attribute instance-attribute

swap_info: GetQuoteSwapInfo = Field(alias='swapInfo')

Information about the swap.

percent class-attribute instance-attribute

percent: int | None = None

Percentage of the swap.

GetSwapOrderParams

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapOrderParams[GetSwapOrderParams]

              

              click cyhole.jupiter.schema.GetSwapOrderParams href "" "cyhole.jupiter.schema.GetSwapOrderParams"
            

Model referring to the input params schema of the GET "Swap - Order" endpoint from Jupiter Swap v2 API.

input_token class-attribute instance-attribute

input_token: str = Field(serialization_alias='inputMint')

Address of the input token mint.

output_token class-attribute instance-attribute

output_token: str = Field(serialization_alias='outputMint')

Address of the output token mint.

amount instance-attribute

amount: int

Amount to swap in the smallest unit of the input token (factoring in token decimals).

taker class-attribute instance-attribute

taker: str | None = None

Public key of the wallet signing the transaction. Required to receive a non-null transaction in the response.

receiver class-attribute instance-attribute

receiver: str | None = None

Public key of the account receiving the output tokens. Must differ from taker when provided.

swap_mode class-attribute instance-attribute

swap_mode: str = Field(
    default="ExactIn", serialization_alias="swapMode"
)

Swap mode. Currently only ExactIn is supported.

slippage_bps class-attribute instance-attribute

slippage_bps: int | None = Field(
    default=None, serialization_alias="slippageBps"
)

Slippage tolerance in basis points (0–10000). Auto-determined by RTSE if unset.

referral_account class-attribute instance-attribute

referral_account: str | None = Field(
    default=None, serialization_alias="referralAccount"
)

Referral account address. Requires referral_fee to be set.

referral_fee class-attribute instance-attribute

referral_fee: int | None = Field(
    default=None, serialization_alias="referralFee"
)

Referral fee in basis points (50–255). Requires referral_account to be set.

payer class-attribute instance-attribute

payer: str | None = None

Public key of the account covering gas fees on behalf of the taker.

priority_fee_lamports class-attribute instance-attribute

priority_fee_lamports: int | None = Field(
    default=None, serialization_alias="priorityFeeLamports"
)

Priority fee in lamports. Auto-optimised if unset.

jito_tip_lamports class-attribute instance-attribute

jito_tip_lamports: int | None = Field(
    default=None, serialization_alias="jitoTipLamports"
)

Jito MEV tip in lamports for faster block inclusion.

broadcast_fee_type class-attribute instance-attribute

broadcast_fee_type: JupiterBroadcastFeeType | None = Field(
    default=None, serialization_alias="broadcastFeeType"
)

Fee strategy. See JupiterBroadcastFeeType for valid values.

exclude_routers class-attribute instance-attribute

exclude_routers: list[JupiterRouter] | None = Field(
    default=None, serialization_alias="excludeRouters"
)

Routers to exclude from competition. See JupiterRouter for valid values.

exclude_dexes class-attribute instance-attribute

exclude_dexes: str | None = Field(
    default=None, serialization_alias="excludeDexes"
)

Comma-separated list of DEXes to exclude from the Metis router (e.g. "Raydium,Orca V2").

serialize_amount classmethod

serialize_amount(amount: int) -> str
Source code in src/cyhole/jupiter/schema.py
191
192
193
194
@field_serializer("amount")
@classmethod
def serialize_amount(cls, amount: int) -> str:
    return str(amount)

serialize_exclude_routers classmethod

serialize_exclude_routers(
    routers: list[JupiterRouter] | None,
) -> str | None
Source code in src/cyhole/jupiter/schema.py
196
197
198
199
@field_serializer("exclude_routers")
@classmethod
def serialize_exclude_routers(cls, routers: list[JupiterRouter] | None) -> str | None:
    return ",".join(r.value for r in routers) if routers else None

serialize_broadcast_fee_type classmethod

serialize_broadcast_fee_type(
    fee_type: JupiterBroadcastFeeType | None,
) -> str | None
Source code in src/cyhole/jupiter/schema.py
201
202
203
204
@field_serializer("broadcast_fee_type")
@classmethod
def serialize_broadcast_fee_type(cls, fee_type: JupiterBroadcastFeeType | None) -> str | None:
    return fee_type.value if fee_type else None

GetSwapOrderPlatformFee

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapOrderPlatformFee[GetSwapOrderPlatformFee]

              

              click cyhole.jupiter.schema.GetSwapOrderPlatformFee href "" "cyhole.jupiter.schema.GetSwapOrderPlatformFee"
            

Platform fee details in the GET "Swap - Order" response.

amount class-attribute instance-attribute

amount: str | None = None

Raw platform fee amount (before decimals). None when no platform fee.

fee_bps class-attribute instance-attribute

fee_bps: int = Field(alias='feeBps')

Platform fee in basis points.

fee_mint class-attribute instance-attribute

fee_mint: str | None = Field(default=None, alias='feeMint')

Token mint address for the fee. None when no platform fee.

GetSwapOrderSwapInfo

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapOrderSwapInfo[GetSwapOrderSwapInfo]

              

              click cyhole.jupiter.schema.GetSwapOrderSwapInfo href "" "cyhole.jupiter.schema.GetSwapOrderSwapInfo"
            

Swap info for a single step in the route plan of the GET "Swap - Order" response.

amm_key class-attribute instance-attribute

amm_key: str = Field(alias='ammKey')

Address of the AMM used for this swap step.

amm_label class-attribute instance-attribute

amm_label: str | None = Field(default=None, alias='label')

Human-readable label of the AMM.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token address for this swap step.

input_amount_raw class-attribute instance-attribute

input_amount_raw: str = Field(alias='inAmount')

Raw input amount for this step (before decimals).

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token address for this swap step.

output_amount_raw class-attribute instance-attribute

output_amount_raw: str = Field(alias='outAmount')

Raw output amount for this step (before decimals).

GetSwapOrderRoutePlan

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapOrderRoutePlan[GetSwapOrderRoutePlan]

              

              click cyhole.jupiter.schema.GetSwapOrderRoutePlan href "" "cyhole.jupiter.schema.GetSwapOrderRoutePlan"
            

A single step in the route plan of the GET "Swap - Order" response.

swap_info class-attribute instance-attribute

swap_info: GetSwapOrderSwapInfo = Field(alias='swapInfo')

Swap details for this step.

percent class-attribute instance-attribute

percent: int | None = None

Percentage of the total swap routed through this step.

bps class-attribute instance-attribute

bps: int | None = None

Routing basis points for this step.

usd_value class-attribute instance-attribute

usd_value: float | None = Field(
    default=None, alias="usdValue"
)

Estimated USD value routed through this step.

GetSwapOrderResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapOrderResponse[GetSwapOrderResponse]

              

              click cyhole.jupiter.schema.GetSwapOrderResponse href "" "cyhole.jupiter.schema.GetSwapOrderResponse"
            

Model referring to the response schema of the GET "Swap - Order" endpoint from Jupiter Swap v2 API.

mode class-attribute instance-attribute

mode: str | None = None

Order mode: "ultra" or "manual".

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token mint address.

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token mint address.

input_amount_raw class-attribute instance-attribute

input_amount_raw: str = Field(alias='inAmount')

Raw input amount (before decimals).

output_amount_raw class-attribute instance-attribute

output_amount_raw: str = Field(alias='outAmount')

Raw output amount (before decimals).

input_usd_value class-attribute instance-attribute

input_usd_value: float | None = Field(
    default=None, alias="inUsdValue"
)

USD value of the input amount.

output_usd_value class-attribute instance-attribute

output_usd_value: float | None = Field(
    default=None, alias="outUsdValue"
)

USD value of the output amount.

price_impact class-attribute instance-attribute

price_impact: float | None = Field(
    default=None, alias="priceImpact"
)

Price impact as a decimal (e.g. -0.001 = -0.1%).

swap_usd_value class-attribute instance-attribute

swap_usd_value: float | None = Field(
    default=None, alias="swapUsdValue"
)

USD value of the entire swap.

other_amount_threshold class-attribute instance-attribute

other_amount_threshold: str = Field(
    alias="otherAmountThreshold"
)

Minimum output amount after slippage.

swap_mode class-attribute instance-attribute

swap_mode: str = Field(alias='swapMode')

Swap mode used (currently only ExactIn).

slippage_bps class-attribute instance-attribute

slippage_bps: int = Field(alias='slippageBps')

Slippage tolerance applied in basis points.

route_plan class-attribute instance-attribute

route_plan: list[GetSwapOrderRoutePlan] = Field(
    alias="routePlan"
)

Execution route broken into individual swap steps.

referral_account class-attribute instance-attribute

referral_account: str | None = Field(
    default=None, alias="referralAccount"
)

Referral account address, if provided.

fee_mint class-attribute instance-attribute

fee_mint: str | None = Field(default=None, alias='feeMint')

Token mint used for fees.

fee_bps class-attribute instance-attribute

fee_bps: int | None = Field(default=None, alias='feeBps')

Total fees in basis points, including platform fee and other fees.

platform_fee class-attribute instance-attribute

platform_fee: GetSwapOrderPlatformFee | None = Field(
    default=None, alias="platformFee"
)

Platform fee breakdown.

signature_fee_lamports class-attribute instance-attribute

signature_fee_lamports: int | None = Field(
    default=None, alias="signatureFeeLamports"
)

Lamports required for the base network signature fee.

signature_fee_payer class-attribute instance-attribute

signature_fee_payer: str | None = Field(
    default=None, alias="signatureFeePayer"
)

Account paying the signature fee. None when taker pays.

prioritization_fee_lamports class-attribute instance-attribute

prioritization_fee_lamports: int | None = Field(
    default=None, alias="prioritizationFeeLamports"
)

Lamports required for priority fees and tips (Jito, Nozomi).

prioritization_fee_payer class-attribute instance-attribute

prioritization_fee_payer: str | None = Field(
    default=None, alias="prioritizationFeePayer"
)

Account paying the prioritization fee. None when taker pays.

rent_fee_lamports class-attribute instance-attribute

rent_fee_lamports: int | None = Field(
    default=None, alias="rentFeeLamports"
)

Estimated rent fee in lamports.

rent_fee_payer class-attribute instance-attribute

rent_fee_payer: str | None = Field(
    default=None, alias="rentFeePayer"
)

Account paying the rent fee. None when taker pays.

router class-attribute instance-attribute

router: JupiterRouter | None = None

Router that won the quote competition.

transaction class-attribute instance-attribute

transaction: str | None = None

Base64-encoded assembled transaction. None when taker is not provided.

last_valid_block_height class-attribute instance-attribute

last_valid_block_height: str | None = Field(
    default=None, alias="lastValidBlockHeight"
)

Last valid block height for the transaction.

gasless class-attribute instance-attribute

gasless: bool | None = None

True when the swap is executed gasless.

request_id class-attribute instance-attribute

request_id: str = Field(alias='requestId')

Unique request ID required to call post_swap_execute.

total_time class-attribute instance-attribute

total_time: int | None = Field(
    default=None, alias="totalTime"
)

Total response time in milliseconds.

taker class-attribute instance-attribute

taker: str | None = None

Public key of the taker wallet.

quote_id class-attribute instance-attribute

quote_id: str | None = Field(default=None, alias='quoteId')

Quote ID for RFQ swaps. None for non-RFQ routes.

maker class-attribute instance-attribute

maker: str | None = None

Market maker address for RFQ swaps. None for non-RFQ routes.

expire_at class-attribute instance-attribute

expire_at: str | None = Field(
    default=None, alias="expireAt"
)

Quote expiration timestamp for RFQ swaps. None for non-RFQ routes.

error_code class-attribute instance-attribute

error_code: int | None = Field(
    default=None, alias="errorCode"
)

Error code when the transaction could not be built.

error_message class-attribute instance-attribute

error_message: str | None = Field(
    default=None, alias="errorMessage"
)

Human-readable error description when the transaction could not be built.

PostSwapExecuteBody

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostSwapExecuteBody[PostSwapExecuteBody]

              

              click cyhole.jupiter.schema.PostSwapExecuteBody href "" "cyhole.jupiter.schema.PostSwapExecuteBody"
            

Model referring to the body schema of the POST "Swap - Execute" endpoint from Jupiter Swap v2 API.

signed_transaction class-attribute instance-attribute

signed_transaction: str = Field(
    serialization_alias="signedTransaction"
)

Base64-encoded signed transaction from get_swap_order.

request_id class-attribute instance-attribute

request_id: str = Field(serialization_alias='requestId')

Request ID from the get_swap_order response.

last_valid_block_height class-attribute instance-attribute

last_valid_block_height: str | None = Field(
    default=None, serialization_alias="lastValidBlockHeight"
)

Optional block height for nonce validation.

PostSwapExecuteSwapEvent

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostSwapExecuteSwapEvent[PostSwapExecuteSwapEvent]

              

              click cyhole.jupiter.schema.PostSwapExecuteSwapEvent href "" "cyhole.jupiter.schema.PostSwapExecuteSwapEvent"
            

A single swap event in the POST "Swap - Execute" response.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token address for this swap event.

input_amount class-attribute instance-attribute

input_amount: str = Field(alias='inputAmount')

Input token amount used.

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token address for this swap event.

output_amount class-attribute instance-attribute

output_amount: str = Field(alias='outputAmount')

Output token amount received.

PostSwapExecuteResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostSwapExecuteResponse[PostSwapExecuteResponse]

              

              click cyhole.jupiter.schema.PostSwapExecuteResponse href "" "cyhole.jupiter.schema.PostSwapExecuteResponse"
            

Model referring to the response schema of the POST "Swap - Execute" endpoint from Jupiter Swap v2 API.

status instance-attribute

status: JupiterSwapExecutionStatus

Execution status: Success or Failed.

code class-attribute instance-attribute

code: int | None = None

Status code (0 = success; non-zero values indicate specific failure types).

signature class-attribute instance-attribute

signature: str | None = None

Transaction signature on success.

slot class-attribute instance-attribute

slot: str | None = None

Confirmed slot number.

total_input_amount class-attribute instance-attribute

total_input_amount: str | None = Field(
    default=None, alias="totalInputAmount"
)

Total input token amount before fees.

total_output_amount class-attribute instance-attribute

total_output_amount: str | None = Field(
    default=None, alias="totalOutputAmount"
)

Total output token amount after fees.

input_amount_result class-attribute instance-attribute

input_amount_result: str | None = Field(
    default=None, alias="inputAmountResult"
)

Input token amount used for the swap.

output_amount_result class-attribute instance-attribute

output_amount_result: str | None = Field(
    default=None, alias="outputAmountResult"
)

Output token amount received from the swap.

swap_events class-attribute instance-attribute

swap_events: list[PostSwapExecuteSwapEvent] | None = Field(
    default=None, alias="swapEvents"
)

Individual swap events comprising the transaction.

error class-attribute instance-attribute

error: str | None = None

Error message when status is Failed.

GetSwapBuildParams

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildParams[GetSwapBuildParams]

              

              click cyhole.jupiter.schema.GetSwapBuildParams href "" "cyhole.jupiter.schema.GetSwapBuildParams"
            

Model referring to the input params schema of the GET "Swap - Build" endpoint from Jupiter Swap v2 API.

input_token class-attribute instance-attribute

input_token: str = Field(serialization_alias='inputMint')

Address of the input token mint.

output_token class-attribute instance-attribute

output_token: str = Field(serialization_alias='outputMint')

Address of the output token mint.

amount instance-attribute

amount: int

Amount to swap in the smallest unit of the input token (factoring in token decimals).

taker class-attribute instance-attribute

taker: str | None = None

Public key of the wallet initiating the swap.

slippage_bps class-attribute instance-attribute

slippage_bps: int | None = Field(
    default=None, serialization_alias="slippageBps"
)

Slippage tolerance in basis points (0–10000). Defaults to 50 when unset.

mode class-attribute instance-attribute

mode: str | None = None

Quoting mode. Pass "fast" for reduced latency.

dexes class-attribute instance-attribute

dexes: str | None = None

Comma-separated list of DEXes to restrict routing to. See JupiterSwapDex for valid values.

exclude_dexes class-attribute instance-attribute

exclude_dexes: str | None = Field(
    default=None, serialization_alias="excludeDexes"
)

Comma-separated list of DEXes to exclude from routing.

platform_fee_bps class-attribute instance-attribute

platform_fee_bps: int | None = Field(
    default=None, serialization_alias="platformFeeBps"
)

Platform fee in basis points (0–10000). Requires fee_account.

fee_account class-attribute instance-attribute

fee_account: str | None = Field(
    default=None, serialization_alias="feeAccount"
)

Token account for collecting platform fees.

max_accounts class-attribute instance-attribute

max_accounts: int | None = Field(
    default=None, serialization_alias="maxAccounts"
)

Maximum accounts for the swap route (1–64). Defaults to 64.

payer class-attribute instance-attribute

payer: str | None = None

Account paying transaction and rent fees. Defaults to taker.

wrap_unwrap_sol class-attribute instance-attribute

wrap_unwrap_sol: bool | None = Field(
    default=None, serialization_alias="wrapAndUnwrapSol"
)

Whether to automatically wrap/unwrap SOL. Defaults to True.

destination_token_account class-attribute instance-attribute

destination_token_account: str | None = Field(
    default=None,
    serialization_alias="destinationTokenAccount",
)

SPL token account for receiving output tokens.

blockhash_slots_to_expiry class-attribute instance-attribute

blockhash_slots_to_expiry: int | None = Field(
    default=None,
    serialization_alias="blockhashSlotsToExpiry",
)

Slots until the blockhash expires (1–300). Defaults to 150.

tip_amount class-attribute instance-attribute

tip_amount: str | None = Field(
    default=None, serialization_alias="tipAmount"
)

SOL tip in lamports added as a tip instruction.

compute_unit_price_percentile class-attribute instance-attribute

compute_unit_price_percentile: str | None = Field(
    default=None,
    serialization_alias="computeUnitPricePercentile",
)

Named priority level ("medium", "high", "veryHigh") or basis points (0–10000) for compute unit price.

serialize_amount classmethod

serialize_amount(amount: int) -> str
Source code in src/cyhole/jupiter/schema.py
496
497
498
499
@field_serializer("amount")
@classmethod
def serialize_amount(cls, amount: int) -> str:
    return str(amount)

GetSwapBuildAccount

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildAccount[GetSwapBuildAccount]

              

              click cyhole.jupiter.schema.GetSwapBuildAccount href "" "cyhole.jupiter.schema.GetSwapBuildAccount"
            

A single account entry in a swap instruction.

public_key class-attribute instance-attribute

public_key: str = Field(alias='pubkey')

Public key of the account.

is_signer class-attribute instance-attribute

is_signer: bool = Field(alias='isSigner')

True when this account must sign the transaction.

is_writable class-attribute instance-attribute

is_writable: bool = Field(alias='isWritable')

True when this account is modified by the instruction.

GetSwapBuildInstruction

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildInstruction[GetSwapBuildInstruction]

              

              click cyhole.jupiter.schema.GetSwapBuildInstruction href "" "cyhole.jupiter.schema.GetSwapBuildInstruction"
            

A single Solana instruction in the swap transaction.

program_id class-attribute instance-attribute

program_id: str = Field(alias='programId')

Program ID executing this instruction.

accounts instance-attribute

accounts: list[GetSwapBuildAccount]

Accounts referenced by this instruction.

data instance-attribute

data: str

Base64-encoded instruction data.

GetSwapBuildBlockhashMetadata

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildBlockhashMetadata[GetSwapBuildBlockhashMetadata]

              

              click cyhole.jupiter.schema.GetSwapBuildBlockhashMetadata href "" "cyhole.jupiter.schema.GetSwapBuildBlockhashMetadata"
            

Blockhash metadata in the GET "Swap - Build" response.

blockhash instance-attribute

blockhash: list[int]

Blockhash represented as a byte array.

last_valid_block_height class-attribute instance-attribute

last_valid_block_height: int = Field(
    alias="lastValidBlockHeight"
)

Block height at which this blockhash expires.

GetSwapBuildSwapInfo

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildSwapInfo[GetSwapBuildSwapInfo]

              

              click cyhole.jupiter.schema.GetSwapBuildSwapInfo href "" "cyhole.jupiter.schema.GetSwapBuildSwapInfo"
            

Swap info for a single step in the route plan of the GET "Swap - Build" response.

amm_key class-attribute instance-attribute

amm_key: str = Field(alias='ammKey')

Address of the AMM used for this swap step.

amm_label class-attribute instance-attribute

amm_label: str | None = Field(default=None, alias='label')

Human-readable label of the AMM.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token address for this swap step.

input_amount_raw class-attribute instance-attribute

input_amount_raw: str = Field(alias='inAmount')

Raw input amount for this step (before decimals).

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token address for this swap step.

output_amount_raw class-attribute instance-attribute

output_amount_raw: str = Field(alias='outAmount')

Raw output amount for this step (before decimals).

GetSwapBuildRoutePlan

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildRoutePlan[GetSwapBuildRoutePlan]

              

              click cyhole.jupiter.schema.GetSwapBuildRoutePlan href "" "cyhole.jupiter.schema.GetSwapBuildRoutePlan"
            

A single step in the route plan of the GET "Swap - Build" response.

swap_info class-attribute instance-attribute

swap_info: GetSwapBuildSwapInfo = Field(alias='swapInfo')

Swap details for this step.

percent class-attribute instance-attribute

percent: int | None = None

Percentage of the total swap routed through this step.

bps class-attribute instance-attribute

bps: int | None = None

Routing basis points for this step.

usd_value class-attribute instance-attribute

usd_value: float | None = Field(
    default=None, alias="usdValue"
)

Estimated USD value routed through this step.

GetSwapBuildResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetSwapBuildResponse[GetSwapBuildResponse]

              

              click cyhole.jupiter.schema.GetSwapBuildResponse href "" "cyhole.jupiter.schema.GetSwapBuildResponse"
            

Model referring to the response schema of the GET "Swap - Build" endpoint from Jupiter Swap v2 API.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token mint address.

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token mint address.

input_amount_raw class-attribute instance-attribute

input_amount_raw: str = Field(alias='inAmount')

Raw input amount (before decimals).

output_amount_raw class-attribute instance-attribute

output_amount_raw: str = Field(alias='outAmount')

Raw output amount (before decimals).

other_amount_threshold class-attribute instance-attribute

other_amount_threshold: str = Field(
    alias="otherAmountThreshold"
)

Minimum output amount after slippage.

swap_mode class-attribute instance-attribute

swap_mode: str = Field(alias='swapMode')

Swap mode used.

slippage_bps class-attribute instance-attribute

slippage_bps: int = Field(alias='slippageBps')

Slippage tolerance applied in basis points.

route_plan class-attribute instance-attribute

route_plan: list[GetSwapBuildRoutePlan] = Field(
    alias="routePlan"
)

Execution route broken into individual swap steps.

compute_budget_instructions class-attribute instance-attribute

compute_budget_instructions: list[
    GetSwapBuildInstruction
] = Field(alias="computeBudgetInstructions")

Compute unit price instructions.

setup_instructions class-attribute instance-attribute

setup_instructions: list[GetSwapBuildInstruction] = Field(
    alias="setupInstructions"
)

Pre-swap setup instructions (e.g. ATA creation).

swap_instruction class-attribute instance-attribute

swap_instruction: GetSwapBuildInstruction = Field(
    alias="swapInstruction"
)

Primary swap instruction.

cleanup_instruction class-attribute instance-attribute

cleanup_instruction: GetSwapBuildInstruction | None = Field(
    default=None, alias="cleanupInstruction"
)

Post-swap cleanup instruction. None when not needed.

other_instructions class-attribute instance-attribute

other_instructions: list[GetSwapBuildInstruction] | None = (
    Field(default=None, alias="otherInstructions")
)

Additional instructions. None when not applicable.

tip_instruction class-attribute instance-attribute

tip_instruction: GetSwapBuildInstruction | None = Field(
    default=None, alias="tipInstruction"
)

SOL tip instruction. None when tipAmount was not provided.

addresses_by_lookup_table class-attribute instance-attribute

addresses_by_lookup_table: dict[str, list[str]] | None = (
    Field(
        default=None, alias="addressesByLookupTableAddress"
    )
)

Address lookup table mappings for v0 transactions. None when not needed.

blockhash_with_metadata class-attribute instance-attribute

blockhash_with_metadata: (
    GetSwapBuildBlockhashMetadata | None
) = Field(default=None, alias="blockhashWithMetadata")

Blockhash and expiry metadata for the transaction.

PostSwapSubmitBody

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostSwapSubmitBody[PostSwapSubmitBody]

              

              click cyhole.jupiter.schema.PostSwapSubmitBody href "" "cyhole.jupiter.schema.PostSwapSubmitBody"
            

Model referring to the body schema of the POST "Swap - Submit" endpoint from Jupiter.

signed_transaction class-attribute instance-attribute

signed_transaction: str = Field(
    serialization_alias="signedTransaction"
)

Base64-encoded signed Solana transaction.

PostSwapSubmitResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostSwapSubmitResponse[PostSwapSubmitResponse]

              

              click cyhole.jupiter.schema.PostSwapSubmitResponse href "" "cyhole.jupiter.schema.PostSwapSubmitResponse"
            

Model referring to the response schema of the POST "Swap - Submit" endpoint from Jupiter.

signature instance-attribute

signature: str

Transaction signature returned after successful submission.

GetTokenInfoAudit

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenInfoAudit[GetTokenInfoAudit]

              

              click cyhole.jupiter.schema.GetTokenInfoAudit href "" "cyhole.jupiter.schema.GetTokenInfoAudit"
            

General class holding audit information about a token.

is_suspicious class-attribute instance-attribute

is_suspicious: bool | None = Field(
    default=None, alias="isSus"
)

The token is considered suspicious.

mint_authority_disabled class-attribute instance-attribute

mint_authority_disabled: bool | None = Field(
    default=None, alias="mintAuthorityDisabled"
)

Check if the mint authority is disabled.

freeze_authority_disabled class-attribute instance-attribute

freeze_authority_disabled: bool | None = Field(
    default=None, alias="freezeAuthorityDisabled"
)

Check if the freeze authority is disabled.

top_holders_percentage class-attribute instance-attribute

top_holders_percentage: float | None = Field(
    default=None, alias="topHoldersPercentage"
)

Percentage of the top holders.

dev_balance_percentage class-attribute instance-attribute

dev_balance_percentage: float | None = Field(
    default=None, alias="devBalancePercentage"
)

Percentage of the developer balance.

dev_migrations class-attribute instance-attribute

dev_migrations: float | None = Field(
    default=None, alias="devMigrations"
)

Number of developer migrations.

GetTokenInfoFirstPool

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenInfoFirstPool[GetTokenInfoFirstPool]

              

              click cyhole.jupiter.schema.GetTokenInfoFirstPool href "" "cyhole.jupiter.schema.GetTokenInfoFirstPool"
            

General class holding information about the first pool of a token.

id instance-attribute

id: str

The pool's ID.

created_at class-attribute instance-attribute

created_at: str = Field(alias='createdAt')

The pool's creation timestamp.

GetTokenInfoStatistics

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenInfoStatistics[GetTokenInfoStatistics]

              

              click cyhole.jupiter.schema.GetTokenInfoStatistics href "" "cyhole.jupiter.schema.GetTokenInfoStatistics"
            

General class holding statistics information about a token in a period of time.

price_change class-attribute instance-attribute

price_change: float | None = Field(
    default=None, alias="priceChange"
)

Price change in percentage.

holder_change class-attribute instance-attribute

holder_change: float | None = Field(
    default=None, alias="holderChange"
)

Holder change in percentage.

liquidity_change class-attribute instance-attribute

liquidity_change: float | None = Field(
    default=None, alias="liquidityChange"
)

Liquidity change in percentage.

volume_change class-attribute instance-attribute

volume_change: float | None = Field(
    default=None, alias="volumeChange"
)

Volume change in percentage.

buy_volume class-attribute instance-attribute

buy_volume: float | None = Field(
    default=None, alias="buyVolume"
)

Buy volume in percentage.

sell_volume class-attribute instance-attribute

sell_volume: float | None = Field(
    default=None, alias="sellVolume"
)

Sell volume in percentage.

buy_organic_volume class-attribute instance-attribute

buy_organic_volume: float | None = Field(
    default=None, alias="buyOrganicVolume"
)

Buy organic volume in percentage.

sell_organic_volume class-attribute instance-attribute

sell_organic_volume: float | None = Field(
    default=None, alias="sellOrganicVolume"
)

Sell organic volume in percentage.

num_buys class-attribute instance-attribute

num_buys: int | None = Field(default=None, alias='numBuys')

Number of buys.

num_sells class-attribute instance-attribute

num_sells: int | None = Field(
    default=None, alias="numSells"
)

Number of sells.

num_traders class-attribute instance-attribute

num_traders: int | None = Field(
    default=None, alias="numTraders"
)

Number of traders.

num_organic_buyers class-attribute instance-attribute

num_organic_buyers: int | None = Field(
    default=None, alias="numOrganicBuyers"
)

Number of organic buyers.

num_net_buyers class-attribute instance-attribute

num_net_buyers: int | None = Field(
    default=None, alias="numNetBuyers"
)

Number of net buyers.

GetTokenInfo

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenInfo[GetTokenInfo]

              

              click cyhole.jupiter.schema.GetTokenInfo href "" "cyhole.jupiter.schema.GetTokenInfo"
            

General class identifing a token on the chain and all its information.

id instance-attribute

id: str

The token's mint address.

name instance-attribute

name: str

The token's name.

symbol instance-attribute

symbol: str

The token's symbol.

icon class-attribute instance-attribute

icon: str | None = None

The token's icon URL.

decimals instance-attribute

decimals: int

The token's decimals.

twitter class-attribute instance-attribute

twitter: str | None = None

The token's Twitter URL.

telegram class-attribute instance-attribute

telegram: str | None = None

The token's Telegram URL.

website class-attribute instance-attribute

website: str | None = None

The token's website URL.

dev class-attribute instance-attribute

dev: str | None = None

The token's developer URL.

circ_supply class-attribute instance-attribute

circ_supply: float | None = Field(
    default=None, alias="circSupply"
)

The token's circulating supply.

total_supply class-attribute instance-attribute

total_supply: float | None = Field(
    default=None, alias="totalSupply"
)

The token's total supply.

token_program class-attribute instance-attribute

token_program: str | None = Field(
    default=None, alias="tokenProgram"
)

The token program address.

launchpad class-attribute instance-attribute

launchpad: str | None = Field(
    default=None, alias="launchpad"
)

The token launchpad address.

partner_config class-attribute instance-attribute

partner_config: str | None = Field(
    default=None, alias="partnerConfig"
)

The token partner config address.

graduated_pool class-attribute instance-attribute

graduated_pool: str | None = Field(
    default=None, alias="graduatedPool"
)

The token graduated pool address.

graduated_at class-attribute instance-attribute

graduated_at: str | None = Field(
    default=None, alias="graduatedAt"
)

The token graduated at timestamp.

holder_count class-attribute instance-attribute

holder_count: int | None = Field(
    default=None, alias="holderCount"
)

The token holder count.

fully_diluted_valuation class-attribute instance-attribute

fully_diluted_valuation: float | None = Field(
    default=None, alias="fdv"
)

The token fully diluted valuation.

market_cap class-attribute instance-attribute

market_cap: float | None = Field(default=None, alias="mcap")

The token market capitalization.

usd_price class-attribute instance-attribute

usd_price: float | None = Field(
    default=None, alias="usdPrice"
)

The token price in USD.

price_block_id class-attribute instance-attribute

price_block_id: int | None = Field(
    default=None, alias="priceBlockId"
)

The block ID of the token price.

liquidity class-attribute instance-attribute

liquidity: float | None = Field(
    default=None, alias="liquidity"
)

The token liquidity.

stats_5m class-attribute instance-attribute

stats_5m: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats5m"
)

The token statistics over the last 5 minutes.

stats_1h class-attribute instance-attribute

stats_1h: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats1h"
)

The token statistics over the last 1 hour.

stats_6h class-attribute instance-attribute

stats_6h: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats6h"
)

The token statistics over the last 6 hours.

stats_24h class-attribute instance-attribute

stats_24h: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats24h"
)

The token statistics over the last 24 hours.

stats_7d class-attribute instance-attribute

stats_7d: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats7d"
)

The token statistics over the last 7 days.

stats_30d class-attribute instance-attribute

stats_30d: GetTokenInfoStatistics | None = Field(
    default=None, alias="stats30d"
)

The token statistics over the last 30 days.

first_pool class-attribute instance-attribute

first_pool: GetTokenInfoFirstPool | None = Field(
    default=None, alias="firstPool"
)

The token first pool information.

audit class-attribute instance-attribute

audit: GetTokenInfoAudit | None = None

The token audit information.

organic_score class-attribute instance-attribute

organic_score: float = Field(alias='organicScore')

The token organic score.

organic_score_label class-attribute instance-attribute

organic_score_label: JupiterOrganicScore = Field(
    alias="organicScoreLabel"
)

The token organic score label.

is_verified class-attribute instance-attribute

is_verified: bool | None = Field(
    default=None, alias="isVerified"
)

Whether the token is verified.

cexes class-attribute instance-attribute

cexes: list[str] | None = Field(default=None, alias="cexes")

List of centralized exchanges where the token is listed.

tags class-attribute instance-attribute

tags: list[str] | None = Field(default=None, alias='tags')

List of tags associated with the token.

updated_at class-attribute instance-attribute

updated_at: str | None = Field(
    default=None, alias="updatedAt"
)

Date and time when the token was last updated.

GetTokenSearchResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenSearchResponse[GetTokenSearchResponse]

              

              click cyhole.jupiter.schema.GetTokenSearchResponse href "" "cyhole.jupiter.schema.GetTokenSearchResponse"
            

Model representing the response object from the GET "Token Search" endpoint from Jupiter API.

tokens instance-attribute

tokens: list[GetTokenInfo]

List of token addresses matching the search query.

GetTokenTagResponse

Bases: GetTokenSearchResponse


              flowchart TD
              cyhole.jupiter.schema.GetTokenTagResponse[GetTokenTagResponse]
              cyhole.jupiter.schema.GetTokenSearchResponse[GetTokenSearchResponse]

                              cyhole.jupiter.schema.GetTokenSearchResponse --> cyhole.jupiter.schema.GetTokenTagResponse
                


              click cyhole.jupiter.schema.GetTokenTagResponse href "" "cyhole.jupiter.schema.GetTokenTagResponse"
              click cyhole.jupiter.schema.GetTokenSearchResponse href "" "cyhole.jupiter.schema.GetTokenSearchResponse"
            

Model used to represent the GET Token Tag endpoint from Jupiter API.

GetTokenCategoryResponse

Bases: GetTokenSearchResponse


              flowchart TD
              cyhole.jupiter.schema.GetTokenCategoryResponse[GetTokenCategoryResponse]
              cyhole.jupiter.schema.GetTokenSearchResponse[GetTokenSearchResponse]

                              cyhole.jupiter.schema.GetTokenSearchResponse --> cyhole.jupiter.schema.GetTokenCategoryResponse
                


              click cyhole.jupiter.schema.GetTokenCategoryResponse href "" "cyhole.jupiter.schema.GetTokenCategoryResponse"
              click cyhole.jupiter.schema.GetTokenSearchResponse href "" "cyhole.jupiter.schema.GetTokenSearchResponse"
            

Model used to represent the GET Token Category endpoint from Jupiter API.

GetTokenRecentResponse

Bases: GetTokenSearchResponse


              flowchart TD
              cyhole.jupiter.schema.GetTokenRecentResponse[GetTokenRecentResponse]
              cyhole.jupiter.schema.GetTokenSearchResponse[GetTokenSearchResponse]

                              cyhole.jupiter.schema.GetTokenSearchResponse --> cyhole.jupiter.schema.GetTokenRecentResponse
                


              click cyhole.jupiter.schema.GetTokenRecentResponse href "" "cyhole.jupiter.schema.GetTokenRecentResponse"
              click cyhole.jupiter.schema.GetTokenSearchResponse href "" "cyhole.jupiter.schema.GetTokenSearchResponse"
            

Model used to represent a token information on the GET Token Recent endpoint.

GetTokenVerifyCheckEligibilityResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenVerifyCheckEligibilityResponse[GetTokenVerifyCheckEligibilityResponse]

              

              click cyhole.jupiter.schema.GetTokenVerifyCheckEligibilityResponse href "" "cyhole.jupiter.schema.GetTokenVerifyCheckEligibilityResponse"
            

Model representing the response object from the GET "Token Verify - Check Eligibility" endpoint from Jupiter API.

token_exists class-attribute instance-attribute

token_exists: bool = Field(alias='tokenExists')

Whether Jupiter recognises the token.

is_verified class-attribute instance-attribute

is_verified: bool = Field(alias='isVerified')

Whether the token already has verified status.

can_verify class-attribute instance-attribute

can_verify: bool = Field(alias='canVerify')

Whether a verification submission is currently permitted.

can_metadata class-attribute instance-attribute

can_metadata: bool = Field(alias='canMetadata')

Whether a metadata update submission is currently permitted.

verification_error class-attribute instance-attribute

verification_error: str | None = Field(
    default=None, alias="verificationError"
)

Reason verification is blocked; None when verification is permitted.

metadata_error class-attribute instance-attribute

metadata_error: str | None = Field(
    default=None, alias="metadataError"
)

Reason metadata update is blocked; None when metadata update is permitted.

GetTokenVerifyCraftTxnResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetTokenVerifyCraftTxnResponse[GetTokenVerifyCraftTxnResponse]

              

              click cyhole.jupiter.schema.GetTokenVerifyCraftTxnResponse href "" "cyhole.jupiter.schema.GetTokenVerifyCraftTxnResponse"
            

Model representing the response object from the GET "Token Verify - Craft Transaction" endpoint from Jupiter API.

transaction instance-attribute

transaction: str

Base64-encoded unsigned transaction for the 1000 JUP payment.

request_id class-attribute instance-attribute

request_id: str = Field(alias='requestId')

Unique identifier to be passed to the execute step.

mint instance-attribute

mint: str

JUP token mint address used for the payment.

amount instance-attribute

amount: str

Payment amount in the smallest JUP units (1000 JUP = 1000000000).

expire_at class-attribute instance-attribute

expire_at: str = Field(alias='expireAt')

ISO-8601 timestamp after which the transaction is no longer valid.

gasless instance-attribute

gasless: bool

Whether the transaction requires no SOL fees.

PostTokenVerifyExecuteTokenMetadata

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostTokenVerifyExecuteTokenMetadata[PostTokenVerifyExecuteTokenMetadata]

              

              click cyhole.jupiter.schema.PostTokenVerifyExecuteTokenMetadata href "" "cyhole.jupiter.schema.PostTokenVerifyExecuteTokenMetadata"
            

Optional token metadata fields submitted alongside a verification request.

token_id class-attribute instance-attribute

token_id: str = Field(serialization_alias='tokenId')

Mint address of the token being updated.

name class-attribute instance-attribute

name: str | None = None

Display name of the token.

symbol class-attribute instance-attribute

symbol: str | None = None

Ticker symbol of the token.

icon class-attribute instance-attribute

icon: str | None = None

URL to the token icon image.

website class-attribute instance-attribute

website: str | None = None

Official website URL.

twitter class-attribute instance-attribute

twitter: str | None = None

Official Twitter/X profile URL.

twitter_community class-attribute instance-attribute

twitter_community: str | None = Field(
    default=None, serialization_alias="twitterCommunity"
)

Twitter/X community URL.

telegram class-attribute instance-attribute

telegram: str | None = None

Official Telegram URL.

discord class-attribute instance-attribute

discord: str | None = None

Official Discord URL.

instagram class-attribute instance-attribute

instagram: str | None = None

Official Instagram URL.

tiktok class-attribute instance-attribute

tiktok: str | None = None

Official TikTok URL.

token_description class-attribute instance-attribute

token_description: str | None = Field(
    default=None, serialization_alias="tokenDescription"
)

Short description of the token.

circulating_supply class-attribute instance-attribute

circulating_supply: str | None = Field(
    default=None, serialization_alias="circulatingSupply"
)

Current circulating supply as a string.

circulating_supply_url class-attribute instance-attribute

circulating_supply_url: str | None = Field(
    default=None, serialization_alias="circulatingSupplyUrl"
)

URL to a data source for circulating supply.

coingecko_coin_id class-attribute instance-attribute

coingecko_coin_id: str | None = Field(
    default=None, serialization_alias="coingeckoCoinId"
)

CoinGecko coin identifier for the token.

other_url class-attribute instance-attribute

other_url: str | None = Field(
    default=None, serialization_alias="otherUrl"
)

Any additional reference URL.

PostTokenVerifyExecuteBody

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostTokenVerifyExecuteBody[PostTokenVerifyExecuteBody]

              

              click cyhole.jupiter.schema.PostTokenVerifyExecuteBody href "" "cyhole.jupiter.schema.PostTokenVerifyExecuteBody"
            

Model referring to the body schema of the POST "Token Verify - Execute" endpoint from Jupiter API.

transaction instance-attribute

transaction: str

Base64-encoded signed transaction from the craft-txn step.

request_id class-attribute instance-attribute

request_id: str = Field(serialization_alias='requestId')

Request ID from the craft-txn response.

sender_address class-attribute instance-attribute

sender_address: str = Field(
    serialization_alias="senderAddress"
)

Wallet address that signed and submitted the payment.

token_id class-attribute instance-attribute

token_id: str = Field(serialization_alias='tokenId')

Mint address of the token to verify.

twitter_handle class-attribute instance-attribute

twitter_handle: str = Field(
    serialization_alias="twitterHandle"
)

X profile URL of the project.

description instance-attribute

description: str

Rationale for the verification submission.

token_metadata class-attribute instance-attribute

token_metadata: (
    PostTokenVerifyExecuteTokenMetadata | None
) = Field(default=None, serialization_alias="tokenMetadata")

Optional metadata to update alongside the verification request.

PostTokenVerifyExecuteResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostTokenVerifyExecuteResponse[PostTokenVerifyExecuteResponse]

              

              click cyhole.jupiter.schema.PostTokenVerifyExecuteResponse href "" "cyhole.jupiter.schema.PostTokenVerifyExecuteResponse"
            

Model representing the response object from the POST "Token Verify - Execute" endpoint from Jupiter API.

status instance-attribute

status: str

Execution result: Success or Failed.

signature instance-attribute

signature: str

On-chain transaction signature.

verification_created class-attribute instance-attribute

verification_created: bool = Field(
    alias="verificationCreated"
)

Whether a verification request was submitted.

metadata_created class-attribute instance-attribute

metadata_created: bool = Field(alias='metadataCreated')

Whether a metadata update request was submitted.

PostRecurringTransactionResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringTransactionResponse[PostRecurringTransactionResponse]

              

              click cyhole.jupiter.schema.PostRecurringTransactionResponse href "" "cyhole.jupiter.schema.PostRecurringTransactionResponse"
            

This model is used to identify the general response provided by all the endpoints of the Recurring API that give an unsigned transaction that should be then sent to the post_trigger_execute endpoint.

request_id class-attribute instance-attribute

request_id: str = Field(alias='requestId')

Unique ID required to make a request to post_trigger_execute

transaction_id class-attribute instance-attribute

transaction_id: str = Field(alias='transaction')

Unsigned base-64 encoded transaction.

PostRecurringCreateOrderTime

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderTime[PostRecurringCreateOrderTime]

              

              click cyhole.jupiter.schema.PostRecurringCreateOrderTime href "" "cyhole.jupiter.schema.PostRecurringCreateOrderTime"
            

Model used to identify the parameters required by a POST Recurring - Create Order request using time mode.

deposit_amount_raw class-attribute instance-attribute

deposit_amount_raw: int = Field(
    serialization_alias="inAmount"
)

Raw amount of input token to deposit now (before decimals).

order_count class-attribute instance-attribute

order_count: int = Field(
    serialization_alias="numberOfOrders"
)

Number of orders to create.

interval_unix_time class-attribute instance-attribute

interval_unix_time: int = Field(
    serialization_alias="interval"
)

Time between each order in UNIX seconds.

min_price_raw class-attribute instance-attribute

min_price_raw: int | None = Field(
    default=None, serialization_alias="minPrice"
)

Minimum price of the token for the order to be executed in raw format (before decimals).

max_price_raw class-attribute instance-attribute

max_price_raw: int | None = Field(
    default=None, serialization_alias="maxPrice"
)

Maximum price of the token for the order to be executed in raw format (before decimals).

start_at_unix_time class-attribute instance-attribute

start_at_unix_time: int | None = Field(
    default=None, serialization_alias="startAt"
)

Time when the first cycle will start in UNIX seconds.
If not provided, the first cycle will start immediately.

PostRecurringCreateOrderTimeParams

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderTimeParams[PostRecurringCreateOrderTimeParams]

              

              click cyhole.jupiter.schema.PostRecurringCreateOrderTimeParams href "" "cyhole.jupiter.schema.PostRecurringCreateOrderTimeParams"
            

Recurring - Create Order time mode.

time instance-attribute

time: PostRecurringCreateOrderTime

Time order parameters.

PostRecurringCreateOrderPrice

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderPrice[PostRecurringCreateOrderPrice]

              

              click cyhole.jupiter.schema.PostRecurringCreateOrderPrice href "" "cyhole.jupiter.schema.PostRecurringCreateOrderPrice"
            

Model used to identify the parameters required by a POST Recurring - Create Order request using price mode.

deposit_amount_raw class-attribute instance-attribute

deposit_amount_raw: int = Field(
    serialization_alias="depositAmount"
)

Raw amount of input token to deposit now (before decimals).

increment_usdc_value_raw class-attribute instance-attribute

increment_usdc_value_raw: int = Field(
    serialization_alias="incrementUsdcValue"
)

Raw amount of USDC to increment per cycle (before decimals).

interval_unix_time class-attribute instance-attribute

interval_unix_time: int = Field(
    serialization_alias="interval"
)

Time between each cycle in UNIX seconds.

start_at_unix_time class-attribute instance-attribute

start_at_unix_time: int | None = Field(
    default=None, serialization_alias="startAt"
)

Time when the first cycle will start in UNIX seconds.
If not provided, the first cycle will start immediately.

PostRecurringCreateOrderPriceParams

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderPriceParams[PostRecurringCreateOrderPriceParams]

              

              click cyhole.jupiter.schema.PostRecurringCreateOrderPriceParams href "" "cyhole.jupiter.schema.PostRecurringCreateOrderPriceParams"
            

Recurring - Create Order price mode.

price instance-attribute

price: PostRecurringCreateOrderPrice

Price order parameters.

PostRecurringCreateOrderBody

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderBody[PostRecurringCreateOrderBody]

              

              click cyhole.jupiter.schema.PostRecurringCreateOrderBody href "" "cyhole.jupiter.schema.PostRecurringCreateOrderBody"
            

Model refering to the input body of the POST "Recurring - Create Order" endpoint from Jupiter API.

user_public_key class-attribute instance-attribute

user_public_key: str = Field(serialization_alias='user')

User wallet address.

input_token class-attribute instance-attribute

input_token: str = Field(serialization_alias='inputMint')

The address of the input token on the chain used to buy.

output_token class-attribute instance-attribute

output_token: str = Field(serialization_alias='outputMint')

The address of the output token on the chain that will be bought.

params instance-attribute

params: (
    PostRecurringCreateOrderTimeParams
    | PostRecurringCreateOrderPriceParams
)

The parameters of the order. It can be either a time or price parameter.

PostRecurringCreateOrderResponse

Bases: PostRecurringTransactionResponse


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCreateOrderResponse[PostRecurringCreateOrderResponse]
              cyhole.jupiter.schema.PostRecurringTransactionResponse[PostRecurringTransactionResponse]

                              cyhole.jupiter.schema.PostRecurringTransactionResponse --> cyhole.jupiter.schema.PostRecurringCreateOrderResponse
                


              click cyhole.jupiter.schema.PostRecurringCreateOrderResponse href "" "cyhole.jupiter.schema.PostRecurringCreateOrderResponse"
              click cyhole.jupiter.schema.PostRecurringTransactionResponse href "" "cyhole.jupiter.schema.PostRecurringTransactionResponse"
            

Model refering to the response schema of the POST "Recurring - Create Order" endpoint from Jupiter API.

GetRecurringOrdersTrade

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetRecurringOrdersTrade[GetRecurringOrdersTrade]

              

              click cyhole.jupiter.schema.GetRecurringOrdersTrade href "" "cyhole.jupiter.schema.GetRecurringOrdersTrade"
            

Model refering to the response schema of the GET "Recurring - Orders" endpoint from Jupiter API identifing a trade.

order_key class-attribute instance-attribute

order_key: str = Field(alias='orderKey')

Unique identifier of the order associated with the trade.

keeper instance-attribute

keeper: str

Wallet address of the user who made the trade.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

Input token address.

input_amount class-attribute instance-attribute

input_amount: float = Field(alias='inputAmount')

Amount of input token sent in the trade.

input_amount_raw class-attribute instance-attribute

input_amount_raw: int = Field(alias='rawInputAmount')

Amount of input token sent in raw format; i.e. integer value without decimals.

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

Output token address.

output_amount class-attribute instance-attribute

output_amount: float = Field(alias='outputAmount')

Amount of output token received in the trade.

output_amount_raw class-attribute instance-attribute

output_amount_raw: int = Field(alias='rawOutputAmount')

Amount of output token received in raw format; i.e. integer value without decimals.

fee_token class-attribute instance-attribute

fee_token: str = Field(alias='feeMint')

Fee token address.

fee_amount class-attribute instance-attribute

fee_amount: float = Field(alias='feeAmount')

Amount of fee token paid in the trade.

fee_amount_raw class-attribute instance-attribute

fee_amount_raw: int = Field(alias='rawFeeAmount')

Amount of fee token paid in raw format; i.e. integer value without decimals.

transaction_id class-attribute instance-attribute

transaction_id: str = Field(alias='txId')

Unique identifier of the transaction associated with the trade.

confirmed_at class-attribute instance-attribute

confirmed_at: datetime = Field(alias='confirmedAt')

Date and time when the trade was confirmed.

action instance-attribute

action: str

Action made in the trade.

product_meta class-attribute instance-attribute

product_meta: dict | None = Field(
    default=None, alias="productMeta"
)

Additional metadata of the trade.

parse_amounts

parse_amounts(amount_raw: str) -> float
Source code in src/cyhole/jupiter/schema.py
1173
1174
1175
@field_validator("input_amount", "output_amount", "fee_amount")
def parse_amounts(cls, amount_raw: str) -> float:
    return float(amount_raw)

parse_amounts_raw

parse_amounts_raw(amount_raw: str) -> int
Source code in src/cyhole/jupiter/schema.py
1177
1178
1179
@field_validator("input_amount_raw", "output_amount_raw", "fee_amount_raw")
def parse_amounts_raw(cls, amount_raw: str) -> int:
    return int(amount_raw)

parse_datetime

parse_datetime(datetime_raw: str | datetime) -> datetime
Source code in src/cyhole/jupiter/schema.py
1181
1182
1183
1184
1185
@field_validator("confirmed_at")
def parse_datetime(cls, datetime_raw: str | datetime) -> datetime:
    if isinstance(datetime_raw, str):
        return datetime.strptime(datetime_raw, "%Y-%m-%dT%H:%M:%S")
    return datetime_raw

GetRecurringOrdersOrder

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetRecurringOrdersOrder[GetRecurringOrdersOrder]

              

              click cyhole.jupiter.schema.GetRecurringOrdersOrder href "" "cyhole.jupiter.schema.GetRecurringOrdersOrder"
            

Model refering to an order coming from the GET "Recurring - Orders" endpoint from Jupiter API.

order_key class-attribute instance-attribute

order_key: str = Field(alias='orderKey')

Unique identifier of the order.

updated_at class-attribute instance-attribute

updated_at: datetime = Field(alias='updatedAt')

Date and time when the order was last updated.

open_transaction_id class-attribute instance-attribute

open_transaction_id: str = Field(alias='openTx')

Transaction ID used to open the order.

close_transaction_id class-attribute instance-attribute

close_transaction_id: str | None = Field(
    default=None, alias="closeTx"
)

Transaction ID of the close order.

created_at class-attribute instance-attribute

created_at: datetime = Field(alias='createdAt')

Date and time when the order was created.

input_token class-attribute instance-attribute

input_token: str = Field(alias='inputMint')

The address of the input token on the chain used to buy.

input_amount_deposited class-attribute instance-attribute

input_amount_deposited: float = Field(alias='inDeposited')

Input token amount deposited in the order.

input_amount_deposited_raw class-attribute instance-attribute

input_amount_deposited_raw: int = Field(
    alias="rawInDeposited"
)

Raw input token amount deposited in the order (before decimals).

input_amount_used class-attribute instance-attribute

input_amount_used: float = Field(alias='inUsed')

Input token amount used in the order.

input_amount_used_raw class-attribute instance-attribute

input_amount_used_raw: int = Field(alias='rawInUsed')

Raw input token amount used in the order (before decimals).

input_amount_withdrawn class-attribute instance-attribute

input_amount_withdrawn: float = Field(alias='inWithdrawn')

Input token amount withdrawn in the order.

input_amount_withdrawn_raw class-attribute instance-attribute

input_amount_withdrawn_raw: int = Field(
    alias="rawInWithdrawn"
)

Raw input token amount withdrawn in the order (before decimals).

output_token class-attribute instance-attribute

output_token: str = Field(alias='outputMint')

The address of the output token on the chain that will be bought.

output_amount_received class-attribute instance-attribute

output_amount_received: float = Field(alias='outReceived')

Output token amount received in the order.

output_amount_received_raw class-attribute instance-attribute

output_amount_received_raw: int = Field(
    alias="rawOutReceived"
)

Raw output token amount received in the order (before decimals).

output_amount_withdrawn class-attribute instance-attribute

output_amount_withdrawn: float = Field(alias="outWithdrawn")

Output token amount withdrawn in the order.

output_amount_withdrawn_raw class-attribute instance-attribute

output_amount_withdrawn_raw: int = Field(
    alias="rawOutWithdrawn"
)

Raw output token amount withdrawn in the order (before decimals).

trades instance-attribute

trades: list[GetRecurringOrdersTrade]

List of trades made in the order.

user_public_key class-attribute instance-attribute

user_public_key: str = Field(alias='userPubkey')

User wallet address.

GetRecurringOrdersPrice

Bases: GetRecurringOrdersOrder


              flowchart TD
              cyhole.jupiter.schema.GetRecurringOrdersPrice[GetRecurringOrdersPrice]
              cyhole.jupiter.schema.GetRecurringOrdersOrder[GetRecurringOrdersOrder]

                              cyhole.jupiter.schema.GetRecurringOrdersOrder --> cyhole.jupiter.schema.GetRecurringOrdersPrice
                


              click cyhole.jupiter.schema.GetRecurringOrdersPrice href "" "cyhole.jupiter.schema.GetRecurringOrdersPrice"
              click cyhole.jupiter.schema.GetRecurringOrdersOrder href "" "cyhole.jupiter.schema.GetRecurringOrdersOrder"
            

Model refering to the response schema of the GET "Recurring - Orders" endpoint when requesting price-based orders from Jupiter API.

start_at class-attribute instance-attribute

start_at: datetime = Field(alias='startAt')

Time when the order started.

status instance-attribute

status: JupiterOrderState

Status of the order.

order_interval_sec class-attribute instance-attribute

order_interval_sec: int = Field(alias='orderInterval')

Interval in seconds between each order.

closed_by class-attribute instance-attribute

closed_by: str | None = Field(
    default=None, alias="closedBy"
)

Account key of the user who closed the order.

estimated_usdc_value_spent class-attribute instance-attribute

estimated_usdc_value_spent: float = Field(
    alias="estimatedUsdcValueSpent"
)

Estimated USDC value spent in the order.

estimated_usdc_value_spent_raw class-attribute instance-attribute

estimated_usdc_value_spent_raw: int = Field(
    alias="rawEstimatedUsdcValueSpent"
)

Raw estimated USDC value spent in the order (before decimals).

incremental_usd_value class-attribute instance-attribute

incremental_usd_value: float = Field(
    alias="incrementalUsdValue"
)

Incremental USD value of the order.

incremental_usd_value_raw class-attribute instance-attribute

incremental_usd_value_raw: int = Field(
    alias="rawIncrementalUsdValue"
)

Raw incremental USD value of the order (before decimals).

supposed_usd_value class-attribute instance-attribute

supposed_usd_value: float = Field(alias='supposedUsdValue')

Supposed USD value to use in the order.

supposed_usd_value_raw class-attribute instance-attribute

supposed_usd_value_raw: int = Field(
    alias="rawSupposedUsdValue"
)

Raw supposed USD value to use in the order (before decimals).

input_amount_left class-attribute instance-attribute

input_amount_left: float = Field(alias='inLeft')

Input token amount left to fulfill the orders.

input_amount_left_raw class-attribute instance-attribute

input_amount_left_raw: int = Field(alias='rawInLeft')

Raw input token amount left to fulfill the orders (before decimals).

GetRecurringOrdersTime

Bases: GetRecurringOrdersOrder


              flowchart TD
              cyhole.jupiter.schema.GetRecurringOrdersTime[GetRecurringOrdersTime]
              cyhole.jupiter.schema.GetRecurringOrdersOrder[GetRecurringOrdersOrder]

                              cyhole.jupiter.schema.GetRecurringOrdersOrder --> cyhole.jupiter.schema.GetRecurringOrdersTime
                


              click cyhole.jupiter.schema.GetRecurringOrdersTime href "" "cyhole.jupiter.schema.GetRecurringOrdersTime"
              click cyhole.jupiter.schema.GetRecurringOrdersOrder href "" "cyhole.jupiter.schema.GetRecurringOrdersOrder"
            

Model refering to the response schema of the GET "Recurring - Orders" endpoint when requesting time-based orders from Jupiter API.

cycle_frequency_sec class-attribute instance-attribute

cycle_frequency_sec: int = Field(alias='cycleFrequency')

Seconds count between each cycle.

input_amount_per_cycle class-attribute instance-attribute

input_amount_per_cycle: float = Field(
    alias="inAmountPerCycle"
)

Input token amount required by the cycle.

input_amount_per_cycle_raw class-attribute instance-attribute

input_amount_per_cycle_raw: int = Field(
    alias="rawInAmountPerCycle"
)

Raw input token amount required by the cycle (before decimals).

min_output_price class-attribute instance-attribute

min_output_price: float = Field(alias='minOutAmount')

Minimum price of the output token for the order to be executed.

min_output_price_raw class-attribute instance-attribute

min_output_price_raw: int = Field(alias='rawMinOutAmount')

Raw minimum price of the output token for the order to be executed (before decimals).

max_output_price class-attribute instance-attribute

max_output_price: float = Field(alias='maxOutAmount')

Maximum price of the output token for the order to be executed.

max_output_price_raw class-attribute instance-attribute

max_output_price_raw: int = Field(alias='rawMaxOutAmount')

Raw maximum price of the output token for the order to be executed (before decimals).

user_closed_flag class-attribute instance-attribute

user_closed_flag: bool = Field(alias='userClosed')

Flag indicating if the user closed the order.

GetRecurringOrdersResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.GetRecurringOrdersResponse[GetRecurringOrdersResponse]

              

              click cyhole.jupiter.schema.GetRecurringOrdersResponse href "" "cyhole.jupiter.schema.GetRecurringOrdersResponse"
            

Model refering to the response schema of the GET "Recurring - Orders" endpoint from Jupiter API.

user_public_key class-attribute instance-attribute

user_public_key: str = Field(alias='user')

User wallet address.

order_status class-attribute instance-attribute

order_status: JupiterOrderStatus = Field(
    alias="orderStatus"
)

Status of the order.

price class-attribute instance-attribute

price: list[GetRecurringOrdersPrice] | None = None

List of price-based orders. Variable filled only if the request is for price-based orders.

time class-attribute instance-attribute

time: list[GetRecurringOrdersTime] | None = None

List of time-based orders. Variable filled only if the request is for time-based orders.

all class-attribute instance-attribute

all: (
    list[GetRecurringOrdersPrice | GetRecurringOrdersTime]
    | None
) = None

List of both time-based and price-based orders. Variable filled only if the request is for all types of orders.

page instance-attribute

page: int

Current page.

total_pages class-attribute instance-attribute

total_pages: int = Field(alias='totalPages')

Total number of pages.

PostRecurringCancelOrderResponse

Bases: PostRecurringTransactionResponse


              flowchart TD
              cyhole.jupiter.schema.PostRecurringCancelOrderResponse[PostRecurringCancelOrderResponse]
              cyhole.jupiter.schema.PostRecurringTransactionResponse[PostRecurringTransactionResponse]

                              cyhole.jupiter.schema.PostRecurringTransactionResponse --> cyhole.jupiter.schema.PostRecurringCancelOrderResponse
                


              click cyhole.jupiter.schema.PostRecurringCancelOrderResponse href "" "cyhole.jupiter.schema.PostRecurringCancelOrderResponse"
              click cyhole.jupiter.schema.PostRecurringTransactionResponse href "" "cyhole.jupiter.schema.PostRecurringTransactionResponse"
            

Model refering to the response schema of the POST "Recurring - Cancel Order" endpoint from Jupiter API.

PostRecurringExecuteResponse

Bases: BaseModel


              flowchart TD
              cyhole.jupiter.schema.PostRecurringExecuteResponse[PostRecurringExecuteResponse]

              

              click cyhole.jupiter.schema.PostRecurringExecuteResponse href "" "cyhole.jupiter.schema.PostRecurringExecuteResponse"
            

Model refering to the response schema of the POST "Recurring - Execute" endpoint from Jupiter API.

signature_transaction_id class-attribute instance-attribute

signature_transaction_id: str | None = Field(
    default=None, alias="signature"
)

status instance-attribute

status: JupiterSwapExecutionStatus

order_id class-attribute instance-attribute

order_id: str | None = Field(default=None, alias='order')

error class-attribute instance-attribute

error: str | None = None