Staking & DeFi
Carabaas supports native staking operations and DeFi interactions across supported networks. All operations go through the same MPC signing flow and approval pipeline as standard transactions.
Native Staking
Native staking operations are supported on networks with built-in staking mechanisms. These include delegation, undelegation, and reward claiming.
Supported Staking Operations
| Operation | Description |
|---|---|
| Delegate | Stake tokens with a validator |
| Undelegate | Unstake tokens (subject to unbonding period) |
| Claim Rewards | Collect accumulated staking rewards |
| Redelegate | Move stake from one validator to another |
Networks with Native Staking
| Network | Staking Type | Unbonding Period |
|---|---|---|
| Cosmos Hub | Delegation | 21 days |
| Polkadot | Nomination | 28 days |
| Solana | Delegation | ~2 days |
| Cardano | Delegation | 2 epochs |
| Ethereum | Validator | Variable |
| Celestia | Delegation | 21 days |
| Sui | Delegation | 1 epoch |
Specific staking transaction creation examples and parameters are being finalized. Contact your account manager for current capabilities.
DeFi Operations
The platform supports DeFi interactions through smart contract execution:
- Token swaps — DEX interactions across supported networks
- Liquidity provision — add/remove liquidity to AMM pools
- Yield farming — deposit into yield-generating protocols
- Lending/borrowing — interact with lending protocols
All DeFi operations go through the same approval pipeline — quorum-based approval ensures no unauthorized DeFi interaction can occur.
ERC-20 Allowances
Before interacting with DeFi protocols on EVM chains, you typically need to set token allowances:
Setup Allowance Flow
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"vaultId": "kR7mNpX2wQvL9sYhBjD4eT",
"addressId": "gMP71sR5sNUnGdKFTsNzp6",
"network": "ethereum-mainnet",
"asset": "USDT",
"spender": "0xDeFiProtocolAddress...",
"amount": "1000000"
}' \
https://api.carabaas.com/api/v1/transactions/flows/setup-allowance
Check Current Allowance
curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/addresses/{addressId}/allowance
Transfer From
Execute an ERC-20 transferFrom after allowance is set:
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{...}' \
https://api.carabaas.com/api/v1/transactions/transfer-from
Trustlines
For networks like Stellar and Ripple that require trustlines before receiving tokens:
Check Trustlines
curl -H "Authorization: Bearer $TOKEN" \
https://api.carabaas.com/api/v1/addresses/{addressId}/trustlines
Create Trustline
curl -X POST \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '{
"addressId": "gMP71sR5sNUnGdKFTsNzp6",
"network": "stellar-mainnet",
"asset": "USDC"
}' \
https://api.carabaas.com/api/v1/transactions/trustline