# Create an order

You can create an order directly using the `Order.create()` static method. This is useful when you want to create an order object without immediately preparing it for submission or further manipulation.

```typescript
import { Order, ChainID } from "@shogun-network/intents-sdk";

const order = await Order.create({
  user: "0x1234567890123456789012345678901234567890", // Signer wallet address
  sourceChainId: ChainID.Arbitrum,
  sourceTokenAddress: '0xfd086bc7cd5c481dcc9c85ebe478a1c0b69fcbb9', // USDT on Arbitrum
  sourceTokenAmount: BigInt(10_000_000), // 10 USDT (6 decimals)
  destinationChainId: ChainID.Solana,
  destinationTokenAddress: 'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB', // USDT on Solana
  destinationTokenMinAmount: BigInt(9_500_000), // 9.5 USDT minimum
  destinationAddress: '3Kiz4oBXpR9YuPNsVfvE5XnNzgwjrM9m2CbRzyyEVkpQ', // Solana wallet
  minStablecoinAmount: BigInt(9_800_000), // Protocol minimum
  deadline: Math.floor(Date.now() / 1000) + 3600, // 1 hour from now
});
```

#### Parameter Details

<table><thead><tr><th width="220.84375">Parameter</th><th width="150.0546875">Type</th><th>Description</th><th width="145.47265625">Example</th></tr></thead><tbody><tr><td>sourceChainId</td><td>SupportedChain</td><td>Blockchain where tokens are swapped from</td><td><code>ChainID.Arbitrum</code></td></tr><tr><td>sourceTokenAddress</td><td>string</td><td>Contract address of source token</td><td>0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9</td></tr><tr><td>sourceTokenAmount</td><td>bigint</td><td>Amount with decimals included</td><td><code>BigInt(10_000_000)</code> (10 USDT)</td></tr><tr><td>destinationChainId</td><td>SupportedChain</td><td>Blockchain where tokens are received</td><td><code>ChainID.Solana</code></td></tr><tr><td>destinationTokenAddress</td><td>string</td><td>Contract address of destination token</td><td><code>'Es9vMFrzaCERmJfrF4H2FYD4KCoNkY11McCe8BenwNYB'</code></td></tr><tr><td>destinationAddress</td><td>string</td><td>Your receiving wallet address</td><td>CL2U2DAyeu6fSiZkUC7U9z1AixAKLPBNs9qRMu9cuWgM</td></tr><tr><td>deadline</td><td>number</td><td>Order expiration (Unix timestamp)</td><td><code>Math.floor(Date.now() / 1000) + 3600</code></td></tr><tr><td>user</td><td>string</td><td>Signer wallet address</td><td><code>0x1234567890123456789012345678901234567890</code></td></tr></tbody></table>

**Optional Parameters**

| Parameter                 | Type              | Description                                                         |
| ------------------------- | ----------------- | ------------------------------------------------------------------- |
| extraTransfers            | `ExtraTransfer[]` | Additional token transfer (e.g. native tokens on destination chain) |
| minStablecoinAmount       | bigint            | Protocol minimum for internal swaps                                 |
| destinationTokenMinAmount | bigint            | Minimum acceptable receive amount in destination chain              |
