SOL Transfer
Transfer SOL to another address. Endpoint:/svm/transfer/transaction
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | string | Yes | Always sol |
recipient | string | Yes | Recipient public key |
amount | string | Yes | Amount in lamports |
wallet | string | Yes | Sender public key |
sendRoute | string | No | Public, PublicWithNonce, Antimev, or AntimevWithNonce |
prioFees | string | No | Priority fees (see below) |
bribeFees | string | Based on sendRoute | bribe fees (see below) |
nonceAccount | string | Based on sendRoute | Nonce account for transaction exclusivity |
Token Transfer
Transfer SPL tokens. Endpoint:/svm/transfer/token/transaction
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | string | Yes | Always sol |
token | string | Yes | Token mint address |
recipient | string | Yes | Recipient public key |
amount | string | Yes | Amount in token decimals |
wallet | string | Yes | Sender public key |
ensureRecipientAssociatedTokenAccount | boolean | No | Create ATA if needed (default: true) |
sendRoute | string | No | Public, PublicWithNonce, Antimev, or AntimevWithNonce |
prioFees | string | No | Priority fees (see below) |
bribeFees | string | Based on sendRoute | bribe fees (see below) |
nonceAccount | string | Based on sendRoute | Nonce account for transaction exclusivity |
Multi-Transfer
Send SOL to multiple recipients in one transaction. Endpoint:/svm/transfer/multi/transaction
- Socket.IO
- HTTP
socket.emit("/svm/transfer/multi/transaction", {
chain: "sol",
wallet: "YourSolanaWalletPublicKey",
recipients: [
{ address: "Recipient1PublicKey", amount: "100000000" },
{ address: "Recipient2PublicKey", amount: "200000000" },
],
});
await fetch("https://api.chainworks.co/svm/transfer/multi/transaction", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: CHAINWORKS_API_AUTH_TOKEN,
},
body: JSON.stringify({
chain: "sol",
wallet: "YourSolanaWalletPublicKey",
recipients: [
{ address: "Recipient1PublicKey", amount: "100000000" },
{ address: "Recipient2PublicKey", amount: "200000000" },
],
}),
});
Multi-Token Transfer
Send an SPL token to multiple recipients in one transaction. Endpoint:/svm/transfer/multi/token/transaction
| Parameter | Type | Required | Description |
|---|---|---|---|
chain | string | Yes | Always sol |
wallet | string | Yes | Sender public key |
token | string | Yes | Token mint address to transfer |
recipients | object[] | Yes | Recipients to send to (see below) |
defaultEnsureRecipientAssociatedTokenAccount | boolean | No | Default for creating a recipient’s associated token account when missing (default: false). Creating an account may incur ~0.002 SOL rent |
sendRoute | string | No | Public, PublicWithNonce, Antimev, or AntimevWithNonce |
prioFees | string | No | Priority fees in lamports |
bribeFees | string | Based on sendRoute | Bribe fees in lamports |
nonceAccount | string | Based on sendRoute | Nonce account for transaction exclusivity |
recipients:
| Field | Type | Required | Description |
|---|---|---|---|
wallet | string | Conditional | Recipient wallet address. Required unless associatedTokenAccount is given |
associatedTokenAccount | string | Conditional | Recipient associated token account. Defaults to the wallet’s default account; required if wallet is omitted |
amount | string | Yes | Amount in raw token units (min 1) |
ensureAssociatedTokenAccount | boolean | No | Create the recipient account if missing. Defaults to defaultEnsureRecipientAssociatedTokenAccount |
- Socket.IO
- HTTP
socket.emit("/svm/transfer/multi/token/transaction", {
chain: "sol",
wallet: "YourSolanaWalletPublicKey",
token: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", // BONK
recipients: [
{ wallet: "Recipient1PublicKey", amount: "100000000" },
{ wallet: "Recipient2PublicKey", amount: "200000000" },
],
});
await fetch("https://api.chainworks.co/svm/transfer/multi/token/transaction", {
method: "POST",
headers: {
"Content-Type": "application/json",
Authorization: CHAINWORKS_API_AUTH_TOKEN,
},
body: JSON.stringify({
chain: "sol",
wallet: "YourSolanaWalletPublicKey",
token: "DezXAZ8z7PnrnRJjz3wXBoRgixCa6xjnB7YaB1pPB263", // BONK
recipients: [
{ wallet: "Recipient1PublicKey", amount: "100000000" },
{ wallet: "Recipient2PublicKey", amount: "200000000" },
],
}),
});

