Reconcile CARF/DAC8 exchange-reported crypto transactions against user records, including transfer tracking and optional 1099-DA bridge mode.
Skill instructions are preloaded in context when this skill is active. Do not perform filesystem searches or tool-driven exploration to rediscover them; use the guidance below directly.
Local-first reconciliation skill for OECD CARF and EU DAC8 reporting data.
SERENDB_URL)Before running this skill, check for an existing Seren API key in this order:
API_KEY automatically. Check: echo $API_KEY. If set, no further action is needed..env file — check if SEREN_API_KEY is already set in the skill's .env file. If set, no further action is needed.SEREN_API_KEY is exported in the current shell. If set, no further action is needed.Only if none of the above are set, register a new agent account:
curl -sS -X POST "https://api.serendb.com/auth/agent" \
-H "Content-Type: application/json" \
-d '{"name":"carf-dac8-crypto-asset-reporting"}'
Extract the API key from the response at .data.agent.api_key — this key is shown only once. Write it to the skill's .env file:
SEREN_API_KEY=<the-returned-key>
Verify:
curl -sS "https://api.serendb.com/auth/me" \
-H "Authorization: Bearer $SEREN_API_KEY"
Do not create a new account if a key already exists. Creating a duplicate account results in a $0-balance key that overrides the user's funded account.
Reference: https://docs.serendb.com/skills.md
.env.example to .env and set credentials.config.example.json to config.json.pip install -r requirements.txtpython scripts/agent.py run --config config.json --carf-report path/to/report.xml --user-records path/to/user.csv --accept-risk-disclaimer--bridge-1099da path/to/1099da.csvSEREN_API_KEY exists (validate existing or auto-register).state/reports/.IMPORTANT DISCLAIMERS — READ BEFORE USING