1. Install Sail
sail-ts
sail-ts
npm i -g sail-exchange
yarn global add sail-exchange
sail-rs
sail-rs
cargo add sail_exchange
2. Install Fuels
fuels-ts
fuels-ts
npm i -g fuels
yarn global add fuels
fuels-rs
fuels-rs
cargo add fuels
3. Create Sail Instance
import { Wallet, Provider } from 'fuels';
import { sail, LimitOrder } from 'sail-exchange';
// create a provider and wallet
const testnetProvider = new Provider('https://beta-3.fuel.network');
const tradingWallet = Wallet.fromPrivateKey(ENV_PRIVATE_KEY);
const sail = new Sail(testnetProvider, tradingWallet);
use sail_exchange::{Sail, LimitOrder};
use fuels::{accounts::fuel_crypto::SecretKey, prelude::*};
let testnet_provider = Provider::connect("beta-3.fuel.network").await.unwrap();
// Create the wallet.
let trading_wallet = WalletUnlocked::new_from_private_key(ENV_PRIVATE_KEY, Some(provider));
// Build Sail
let sail = Sail::builder
.provider(testnet_provider)
.wallet(trading_wallet)
.build();
4. Create Order
let order = new LimitOrder(
maker: tradingWallet.address(),
maker_amount: 10,
taker_amount: 10,
maker_token: 'ETH',
taker_token: 'USDC',
);
const orderId = sail.createOrder(order)
let order = LimitOrder {
maker: trading_wallet.address(),
maker_amount: 10,
taker_amount: 10,
maker_token: 'ETH',
taker_token: 'USDC',
};
const order = sail.create_order(order)

