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
| Operation | Unbonding Period | Notes |
|---|---|---|
| Delegate | Activated next epoch (~2 days) | Minimum 0.01 SOL |
| Undelegate | ~2 days (1 epoch) | Deactivated next epoch |
| Claim | Automatic | Rewards auto-compound |
Exact options field names for Solana staking are being finalized. Contact your account manager for the latest parameters.
Key Differences from EVM
| Aspect | EVM | Solana |
|---|---|---|
| Token accounts | Not required | ATA required per token |
| Transaction fees | Gas (ETH) | Fixed + priority fee (SOL) |
| Confirmation | ~12 seconds | ~400 milliseconds |
| Signing algorithm | ECDSA (secp256k1) | EdDSA (Ed25519) |