Inheritance

Send an inherited asset as a deposit with subtype inheritance and its value at the date of death, so its lot carries a basis.

Part of Handle transfers. An inherited asset arrives in the heir's account as a transfer in. Instead of what the decedent paid, its basis is the asset's fair market value at the date of death (or the alternate valuation date the estate elected), and a sale of it is treated as long-term however long the heir held it. You send both facts on the deposit.

By the end of this page you have sent an inheritance deposit whose lot carries the date-of-death value as its cost.

Before you begin

Send the inheritance deposit

Send a deposit with subtype inheritance, and put the fair market value at the date of death in rates. Here the heir receives 0.4 ETH valued at $3,050 per ETH on the date of death:

curl -X POST $BASE_URL/v1/transactions/external-id \
  -H "Authorization: Bearer $TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "id": "dep_73302",
    "account_id": "acct_7c19e4b2",
    "type": "deposit",
    "subtype": "inheritance",
    "datetime": "2026-09-20T10:00:00Z",
    "received": [{
      "asset_amount": { "amount": "0.4", "asset": { "code": "ETH", "type": "Crypto" } },
      "rates": [{ "amount": "3050.00", "asset": { "code": "USD", "type": "Fiat" } }]
    }]
  }'

You should see 201 with "status": "success".

Check the lot

Read the account's ETH inventory, as in Retrieve inventory. The lot the deposit created carries the date-of-death value as its cost, $1,220 for 0.4 ETH here, with a unit_cost of 3050, not missing_cost_basis. Its term is long-term from the start, so when the heir sells from it, the gain or loss is reported as long-term.

If the request fails

  • 400. A field failed validation. The body's message is Invalid TDM Transaction V2, and data[0].message says what failed; an inheritance deposit without rates gets A rate object must be provided for transaction with type 'deposit' and subtype 'cost-basis-fmv', 'gift' or 'inheritance'.
  • 401. The bearer token is missing, invalid, or expired. Request a new one and retry.
  • 429. Too many requests. Slow down and retry.

The Errors page has every error shape, the rate limits, and which calls are safe to retry.

Parameters

Only the fields that make a deposit an inheritance. The full schema is in the Transactions reference.

FieldTypeDescription
typestringdeposit.
subtypestringinheritance.
received[].ratesarrayThe fair market value per unit at the date of death, or at the alternate valuation date. It becomes the lot's cost.

Where to go next