Fix missing cost basis
Find missing acquisition history, choose the safest repair, and verify basis coverage after recalculation.
Find transactions with missing basis
Missing basis usually means Awaken cannot find the original acquisition or an owned-wallet transfer was not linked. Start by locating every affected transaction.
query MissingBasis($clientId: ID!) {getClientTransactions(clientId: $clientIdisMissingBasis: trueincludeSummary: truelimit: 100page: 0) {totalcostBasisPercenttransactions { id title createdAt provider sourceAccountId }}}
Choose the right fix
1. Import the source
If the asset came from another wallet or exchange you own, connect that account so Awaken can use the real acquisition.
2. Link the transfer
If both sides already exist, link them with markInternalTransfer or bridgeTransactions so basis carries across.
3. Set the receive price
When the source cannot be imported, enter the defensible fair-market value for the receipt.
4. Accept zero basis
Use this only when zero basis is intentional; it removes the warning but preserves a $0 acquisition cost.
Set a receive price
fiatValue is a dollar amount, not cents. The example below records $1,250.00 for each selected receipt.
mutation SetReceivePrice($clientId: ID!, $transactionIds: [ID!]!) {saveReceivePriceForTransactions(clientId: $clientIdtransactionIds: $transactionIdsfiatValue: 1250.00) { id }}
Explicitly accept zero basis
After repairs, run rerunGraph, wait for the active job to clear, and repeat the missing-basis query to confirm coverage improved.
mutation AcceptZeroBasis($clientId: ID!, $transactionIds: [ID!]!) {updateMultiTransactionsCostBasis(clientId: $clientIdtransactionIds: $transactionIdsisMissingBasis: falseoverrideIsMissingBasis: true) { id isMissingBasis }}