This document explains how to use Skip Go API and Client TypeScript Package to construct SVM transactions.
SvmTx
type for the developer to pass to the user for signingSvmTx
to help their users move from/to Solana and other SVM chains./submit
endpoint to avoid dealing with complex retry logic and/or multiple RPC providers for submission reliability. Skip Go API’s /submit
endpoint implements best practices for Solana transactions submission for you!We recommend using @solana/wallet-adapter to interact with Solana wallets and build transactions. It provides a standardized Adapter
object that wraps all major Solana wallets (e.g. Phantom, Backpack, etc…), as well as visual React components for wallet selection. See here for all the supported wallets.
SkipClient
to use a Solana walletAll you need to do is initialize the getSVMSigner
method in SkipClient.options
to extract the @solana/wallet-adapter-base
from the user’s connected wallet of choice:
After this point, you can use route
, executeRoute
, and the other methods of SkipClient
as you normally would.
The rest of these docs cover the underlying details of the data structures, in case you need them.
SvmTx
Data StructureThe SvmTx
has 2 fields that the developer needs to understand:
chain_id
: The ID of the chain that this transaction should be submitted totx
: This is the base64 encoded bytes of the transaction you should have the end user sign.SvmTx.tx
This is a fully constructed transaction. You don’t need to change it or add anything to it to prepare it for signing. You just need to sign it and have the user submit it on chain within about 1 minute (or the nonce will expire).
For more detail, the transaction already includes:
For more information on transactions, check out the Solana’s official docs
tx
Skip Go Client takes care of all of the complexity of signing the transaction that gets returned in SvmTx.tx
.
You just need to have set the getSVMSigner
method in the SkipClientOptions
object in the SkipClient
constructor then use executeRoute
or executeTxs
.
Solana “priority fees” affect how likely it is a transaction gets included in a block. Unlike for many other major blockchain networks, Solana’s priority fees are evaluated “locally”. In other words, the size of the fee is compared to other transactions that access the same pieces of state (e.g. the same DEX pool, the same token contract etc…):
As a result, transactions that touch “congested” or “popular” state will be the most expensive.
At this time, we are setting priority fees to match the 90% percentile of priority fees for the “wif” pool state on Jupiter, which we believe is highly congested state. This is a very conservative setting, but it even with these “high amounts”, fees are still fractions of a cent.
Have questions or feedback? Help us get better!
Join our Discord and select the “Skip Go Developer” role to share your questions and feedback.
This document explains how to use Skip Go API and Client TypeScript Package to construct SVM transactions.
SvmTx
type for the developer to pass to the user for signingSvmTx
to help their users move from/to Solana and other SVM chains./submit
endpoint to avoid dealing with complex retry logic and/or multiple RPC providers for submission reliability. Skip Go API’s /submit
endpoint implements best practices for Solana transactions submission for you!We recommend using @solana/wallet-adapter to interact with Solana wallets and build transactions. It provides a standardized Adapter
object that wraps all major Solana wallets (e.g. Phantom, Backpack, etc…), as well as visual React components for wallet selection. See here for all the supported wallets.
SkipClient
to use a Solana walletAll you need to do is initialize the getSVMSigner
method in SkipClient.options
to extract the @solana/wallet-adapter-base
from the user’s connected wallet of choice:
After this point, you can use route
, executeRoute
, and the other methods of SkipClient
as you normally would.
The rest of these docs cover the underlying details of the data structures, in case you need them.
SvmTx
Data StructureThe SvmTx
has 2 fields that the developer needs to understand:
chain_id
: The ID of the chain that this transaction should be submitted totx
: This is the base64 encoded bytes of the transaction you should have the end user sign.SvmTx.tx
This is a fully constructed transaction. You don’t need to change it or add anything to it to prepare it for signing. You just need to sign it and have the user submit it on chain within about 1 minute (or the nonce will expire).
For more detail, the transaction already includes:
For more information on transactions, check out the Solana’s official docs
tx
Skip Go Client takes care of all of the complexity of signing the transaction that gets returned in SvmTx.tx
.
You just need to have set the getSVMSigner
method in the SkipClientOptions
object in the SkipClient
constructor then use executeRoute
or executeTxs
.
Solana “priority fees” affect how likely it is a transaction gets included in a block. Unlike for many other major blockchain networks, Solana’s priority fees are evaluated “locally”. In other words, the size of the fee is compared to other transactions that access the same pieces of state (e.g. the same DEX pool, the same token contract etc…):
As a result, transactions that touch “congested” or “popular” state will be the most expensive.
At this time, we are setting priority fees to match the 90% percentile of priority fees for the “wif” pool state on Jupiter, which we believe is highly congested state. This is a very conservative setting, but it even with these “high amounts”, fees are still fractions of a cent.
Have questions or feedback? Help us get better!
Join our Discord and select the “Skip Go Developer” role to share your questions and feedback.