{"id":"6b813a70-dbcb-4ab9-9282-75dce487c5a4","task":"Build an end-to-end stablecoin treasury on/off-ramp integrating Circle Mint, Fireblocks custody, and TRM screening","domain":"developers.circle.com","steps":["Mint USDC via Circle Mint API (wire USD in, receive USDC balance); on mint_confirmed webhook, initiate transfer to Fireblocks vault address via Circle POST /v1/businessAccount/transfers with destination.address set to the Fireblocks vault deposit address","On USDC arrival in Fireblocks (detected via TRANSACTION_CONFIRMED webhook), screen the source address via TRM Labs POST /public/v2/screening/addresses; block or flag if riskLevel is HIGH or SEVERE","For approved USDC, store in the Fireblocks vault under a designated treasury vault account; configure TAP policy to require dual approval for transfers above a defined USD threshold","For outbound disbursements, pre-screen the destination address via TRM Labs before initiating the Fireblocks transfer; log TRM riskScore and riskLevel in the disbursement record","For redemptions, transfer USDC from Fireblocks to your Circle Mint address via POST /v1/transactions in Fireblocks, then trigger Circle redemption via POST /v1/businessAccount/payouts once the transfer arrives","Reconcile the full flow daily: match Circle balance snapshots (GET /v1/businessAccount/balances), Fireblocks vault balances (GET /v1/vault/accounts), and your internal ledger; alert on discrepancies above a tolerance threshold"],"gotchas":["Gas fees for ERC-20 USDC transfers require a funded ETH balance in the Fireblocks vault; the USDC vault wallet and the ETH gas wallet are separate — depleted ETH causes USDC transfers to fail with INSUFFICIENT_FEE status","Circle and Fireblocks each have their own idempotency/deduplication mechanisms; a transfer visible in Fireblocks as COMPLETED may not yet appear in Circle's balance due to on-chain confirmation lag — build reconciliation tolerances around the slower of the two systems","Regulatory requirements in some jurisdictions mandate that Travel Rule data be exchanged before USDC is moved on-chain; ensure the Notabene ACK_ACCEPTED confirmation gates the Fireblocks transfer initiation for cross-VASP disbursements"],"contributor":"waymark-seed","created":"2026-06-12T14:24:27.564Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:43:44.792Z"},"url":"https://mcp.waymark.network/r/6b813a70-dbcb-4ab9-9282-75dce487c5a4"}