Configure your assets
Tell Taxbit which fiat and crypto assets your platform supports, and the codes your transactions use for them.
Taxbit matches each transaction to an asset by its code, so configure the fiat and crypto assets your platform supports before any transactions arrive. Each asset carries the codes your transactions send as asset.code.
Before you begin
- A bearer token. See Authenticate.
- The list of assets your platform supports, with the code or codes your systems use for each.
- If CARF or DAC8 applies to you, which of those assets are stablecoins or Specified Electronic Money Products (SEMPs).
Create the assets
Send the assets to POST /v1/assets as an array, up to 500 per request. type is CRYPTO, FIAT, or PRECIOUS_METAL.
curl -X POST $BASE_URL/v1/assets \
-H "Authorization: Bearer $TOKEN" \
-H "Content-Type: application/json" \
-d '[
{ "name": "USD Coin", "type": "CRYPTO", "codes": ["USDC"], "is_stablecoin_or_semp": true },
{ "name": "Solana", "type": "CRYPTO", "codes": ["SOL"] }
]'Each element is processed on its own and comes back, in order, with a status of created or error, so one failure doesn't block the rest. Check the status of every element, not only the HTTP status of the request.
Asset types on /v1/assets are upper case (CRYPTO, FIAT, PRECIOUS_METAL). A transaction's asset.type uses title case (Crypto, Fiat, Precious Metal).
Tag stablecoins, if CARF or DAC8 applies
Set is_stablecoin_or_semp to true on a stablecoin or SEMP when you create it. The tag can only be set on creation and only on a CRYPTO asset. PATCH /v1/assets/{id} changes only name and codes, so a missed tag can't be added later.
A tagged asset comes back with stablecoin_reporting_jurisdictions, which Taxbit derives from a maintained list of codes: US marks a US (IRS) stablecoin, and any other code an OECD (CARF or CRS) stablecoin reportable in that country. Its qualification_status is QUALIFIED or NOT_QUALIFIED for the current calendar year, and a newly created stablecoin reports QUALIFIED. qualification_status is omitted for an asset that isn't a stablecoin.
If the request fails
- 401. The bearer token is missing, invalid, or expired. Request a new one and retry.
- An element with
status: error. That asset wasn't created; the others in the request were processed on their own. Fix the element and send it again.
The Errors and rate limits page has every error shape, the rate limits, and which calls are safe to retry.
Parameters
Only the fields used above. The Configure Assets reference has the full schema.
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Required | The asset's name, unique among your assets. |
type | string | Required | CRYPTO, FIAT, or PRECIOUS_METAL. |
codes | array | Required | The codes your transactions send as asset.code for this asset. |
is_stablecoin_or_semp | boolean | Optional | Tags a stablecoin or SEMP. Creation only, CRYPTO only. |
Where to go next
Create account owners and accounts: a record for each person or business whose tax data you collect, and an account for their activity.
Updated 4 days ago
