š Guia do Novo Modelo de TransaƧƵes V2
šÆ Objetivo
Suportar todas as operações de cripto: depósitos, levantamentos, compras, vendas, swaps, transferências entre contas, staking, lending, borrowing, etc.
š Estrutura da Transação V2
Colunas Principais
| Coluna | Tipo | Descrição |
|---|---|---|
transaction_type |
TEXT | Tipo de operação (ver tabela abaixo) |
from_asset_id |
INT | Asset de origem (o que sai) |
from_quantity |
DECIMAL | Quantidade que sai |
from_account_id |
INT | Conta de origem (para transfers) |
to_asset_id |
INT | Asset de destino (o que entra) |
to_quantity |
DECIMAL | Quantidade que entra |
to_account_id |
INT | Conta de destino (para transfers) |
account_id |
INT | Conta principal da operação |
fee_asset_id |
INT | Asset usado para pagar fee |
fee_quantity |
DECIMAL | Quantidade de fee |
š Tipos de Transação
1. DEPOSIT (banco ā exchange)
Depositar EUR do banco para uma exchange.
{
'transaction_type': 'deposit',
'from_asset_id': EUR_id,
'from_quantity': 1000.00,
'from_account_id': conta_banco_id,
'to_asset_id': EUR_id,
'to_quantity': 1000.00,
'to_account_id': binance_spot_id,
'fee_eur': 0.00
}
Holdings Impact:
- Banco: -1000 EUR
- Binance Spot: +1000 EUR
2. WITHDRAWAL (exchange ā banco)
Levantar EUR da exchange para o banco.
{
'transaction_type': 'withdrawal',
'from_asset_id': EUR_id,
'from_quantity': 500.00,
'from_account_id': binance_spot_id,
'to_asset_id': EUR_id,
'to_quantity': 500.00,
'to_account_id': conta_banco_id,
'fee_eur': 0.00
}
Holdings Impact:
- Binance Spot: -500 EUR
- Banco: +500 EUR
3. BUY (EUR ā Cripto)
Comprar cripto com EUR.
{
'transaction_type': 'buy',
'from_asset_id': EUR_id,
'from_quantity': 100.00,
'to_asset_id': ADA_id,
'to_quantity': 50.00,
'account_id': binance_spot_id,
'fee_asset_id': EUR_id,
'fee_quantity': 0.50
}
Holdings Impact:
- Binance Spot: -100.50 EUR, +50 ADA
4. SELL (Cripto ā EUR)
Vender cripto por EUR.
{
'transaction_type': 'sell',
'from_asset_id': ADA_id,
'from_quantity': 25.00,
'to_asset_id': EUR_id,
'to_quantity': 49.50,
'account_id': binance_spot_id,
'fee_asset_id': EUR_id,
'fee_quantity': 0.50
}
Holdings Impact:
- Binance Spot: -25 ADA, +49.50 EUR
5. SWAP (Cripto A ā Cripto B)
Trocar um ativo por outro (DEX, exchange).
{
'transaction_type': 'swap',
'from_asset_id': ADA_id,
'from_quantity': 50.00,
'to_asset_id': USDC_id,
'to_quantity': 40.00,
'account_id': minswap_id,
'fee_asset_id': ADA_id,
'fee_quantity': 0.50
}
Holdings Impact:
- Minswap: -50.50 ADA, +40 USDC
6. TRANSFER (Conta A ā Conta B)
Mover asset entre contas/wallets.
{
'transaction_type': 'transfer',
'from_asset_id': ADA_id,
'from_quantity': 100.00,
'from_account_id': binance_spot_id,
'to_asset_id': ADA_id,
'to_quantity': 99.50,
'to_account_id': metamask_id,
'fee_asset_id': ADA_id,
'fee_quantity': 0.50
}
Holdings Impact:
- Binance Spot: -100 ADA
- MetaMask: +99.50 ADA
- (0.50 ADA perdido em network fee)
7. STAKE (DisponĆvel ā Staked)
Colocar asset em staking/earn.
{
'transaction_type': 'stake',
'from_asset_id': ADA_id,
'from_quantity': 100.00,
'from_account_id': binance_spot_id,
'to_asset_id': ADA_id,
'to_quantity': 100.00,
'to_account_id': binance_earn_id,
'fee_quantity': 0.00
}
Holdings Impact:
- Binance Spot: -100 ADA
- Binance Earn: +100 ADA
ā ļø Notas Importantes
1. EUR Ć© um Asset
EUR agora estĆ” na tabela t_assets como is_stablecoin=TRUE.
2. Conta "Banco"
Existe uma exchange especial "Banco" (categoria FIAT) para rastrear EUR fora de exchanges.
3. Retrocompatibilidade
Transações antigas buy/sell continuam funcionando. As colunas legacy são mantidas.
4. Fees em Qualquer Asset
Fees agora podem ser em qualquer asset (não apenas EUR):
- Use
fee_asset_id+fee_quantitypara fees em cripto fee_eurainda funciona para fees em EUR (retrocompat)