Skip to main content

Solana

Solana uses an account-based model with unique requirements for token handling — each token requires an Associated Token Account (ATA) to be created before receiving.

SPL Token Transfers

Transfer SPL tokens using the standard transaction endpoint:

curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"orderId": "a9b0c1d2-e3f4-4a5b-6c7d-8e9f0a1b2c3d",
"vaultId": "kR7mNpX2wQvL9sYhBjD4eT",
"destination": "SolRecipient...",
"network": "solana-mainnet",
"asset": "c501_tEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "1000.00",
"feePriority": "medium"
}' \
https://api.carabaas.com/api/v1/transactions

The platform handles ATA creation automatically when sending to an address that doesn't have a token account yet.

Fee Payer

On Solana, transaction fees are paid in SOL by the transaction signer. Use the feePayer option to specify a different address to cover the fee — useful when the source address only holds SPL tokens and no SOL:

curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"orderId": "b0c1d2e3-f4a5-4b6c-7d8e-9f0a1b2c3d4e",
"vaultId": "kR7mNpX2wQvL9sYhBjD4eT",
"addressId": "mK4nP6qR8sT0uV2wXyZaBc",
"destination": "SolRecipient...",
"network": "solana-mainnet",
"asset": "c501_tEPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"amount": "500.00",
"options": {
"feePayer": "jL5mN7pQ9rS1tU3vWxYzAb"
}
}' \
https://api.carabaas.com/api/v1/transactions

The feePayer must be an address in the same vault that holds sufficient SOL to cover the transaction fee. This is especially useful for:

  • SPL-only addresses that receive token deposits but don't hold SOL
  • Centralized fee management where one address covers fees for many token transfers
  • Customer deposit sweeping where deposit addresses hold only tokens

Staking (Delegation)

Solana supports native staking through delegation to validators:

curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"orderId": "c1d2e3f4-a5b6-4c7d-8e9f-0a1b2c3d4e5f",
"vaultId": "kR7mNpX2wQvL9sYhBjD4eT",
"addressId": "gMP71sR5sNUnGdKFTsNzp6",
"destination": "ValidatorVoteAccount...",
"network": "solana-mainnet",
"asset": "c501",
"amount": "100.0",
"options": {
"type": "delegate"
}
}' \
https://api.carabaas.com/api/v1/transactions
OperationUnbonding PeriodNotes
DelegateActivated next epoch (~2 days)Minimum 0.01 SOL
Undelegate~2 days (1 epoch)Deactivated next epoch
ClaimAutomaticRewards auto-compound
note

Exact options field names for Solana staking are being finalized. Contact your account manager for the latest parameters.

Key Differences from EVM

AspectEVMSolana
Token accountsNot requiredATA required per token
Transaction feesGas (ETH)Fixed + priority fee (SOL)
Confirmation~12 seconds~400 milliseconds
Signing algorithmECDSA (secp256k1)EdDSA (Ed25519)

See Also