POST /api/tally/coins/redeem
| Method | POST |
| Path | /api/tally/coins/redeem |
| Group | Tally Protocol |
| Auth | authenticated session — the coin is pulled to the caller |
| Source | shared/api-core/src/routes/tallyProtocol.ts |
What it does
Pulls a bearer coin back into your wallet. If the coin's home_origin is this
domain, it is un-escrowed straight to you. If it is a different domain, this
runs a cross-domain migrate: the issuing domain
burns and signs it and this
domain mints a fresh coin re-homed to you. Idempotent — a retry resolves to the
same minted coin (no double-mint). A stale copy (wrong spend_seq) is rejected.
Call it
curl -X POST https://zeqond.com/api/tally/coins/redeem \
-H "Content-Type: application/json" -H "Authorization: Bearer <session>" \
-d '{ "kind":"zeq-coin", "token_id":"ZT-…", "token_hash":"…", "value_zeq":6,
"home_origin":"https://zeqapi.com", "node_sig":"…", "node_pubkey":"…",
"spend_seq":1, "bearer_ticket":"…" }'
Returns
{ "ok": true, "redeemed": { "token_id": "ZT-…", "value_zeq": 6, "owner": "ZEQ…",
"migrated_from": "ZT-…@https://zeqapi.com" } }