Skip to content

Utila USDC Treasury: Set Up Vaults, Policies, Approvals

A step-by-step Utila USDC treasury build from Utila's own docs: vault and quorum, roles, wallet layout, address book, a first-match policy stack, Co-Signer sweeps, plus what the $799 Starter plan really costs per dollar moved.

Table of Contents

A Utila USDC treasury isn't defined by where the dollars sit. It's defined by who can move them, and Utila's rule engine is strict about that: if no policy rule matches a transaction, the transaction is automatically rejected, per Utila's Help Center.

That default is why so many teams that read Stablecoin Insider's Utila vs Fireblocks comparison ask the same next question: how do you actually set the thing up so USDC moves when it should and stops when it shouldn't?

This guide walks through the build in seven steps, using only Utila's own docs, Help Center and pricing page as of 20 October 2026. Then it prices the Starter plan per dollar moved and names where the setup breaks.

Key Takeaways

  • Utila Starter costs $799 a month, capped at $3M outbound per quarter (Utila pricing).
  • Any transaction that matches no policy rule is rejected automatically (Utila Help Center).
  • The admin quorum is 1 or 2 approvers; changing it needs the old quorum (Utila).
  • Service accounts get only Viewer or Signer roles and up to 3 RSA keys (Utila docs).
  • One sponsor wallet can pay gas for USDC sweeps on EVM chains, Solana, Sui and Aptos (Utila docs).
🧭
Scope check: this is a configuration guide built from Utila's public documentation, not a vendor review. Thresholds in the example policy below are Stablecoin Insider's illustrations, not Utila defaults. Utila is wallet and governance software; licensing for holding client funds stays with you or a regulated partner.

What a Utila USDC treasury is made of

Let's start with vocabulary, because Utila's words map onto treasury jobs in a specific way. A vault is the workspace with one governance layer: transaction and compliance policies, the admin quorum and one address book for every wallet inside it, per Utila's vault guide.

Utila building blockWhat it doesTreasury job it covers
Vault (docs)Workspace with its own policy, quorum and address bookEntity or business-line boundary
Wallet and wallet group (Utila)One wallet maps to one address per chain; groups let one rule cover many walletsReserve, operating, deposit and gas balances
Address book (docs)Whitelisted destinations and contracts that rules can referenceApproved beneficiary list
Transaction policy (docs)Ordered rules; first full match decides the outcomeApproval matrix and limits
Admin quorum (docs)1 or 2 admins approve vault actions such as policy editsChange control over the rules themselves
Service account and Co-Signer (docs)API identity plus a CLI tool that signs designated transactions automaticallySweeps and routine payouts without clicks

Here's why that matters. The quorum that approves a payment and the quorum that changes the payment rules are separate controls, and Utila's treasury playbook says they should be configured separately. Most setup mistakes come from treating them as one.

Before you start: plan limits that shape the design

The Starter plan is $799 a month for 12 months, billed quarterly, and covers up to $3M of outbound volume per quarter, 1,000 active wallets, 1 vault and 3 users, per Utila's pricing page. Growth, Pro, Scale and Enterprise plans are quoted on request.

Those limits decide your layout before any technical choice does. One vault means every wallet shares one policy and one address book. Three seats means maker-checker has to fit inside three people. And a $3M quarterly cap works out to roughly $1M of outbound USDC a month before Utila moves you to a custom plan (Utila).

Settle four things first: which chains carry your USDC, whether you hold client funds (which changes licensing), who approves what, and whether idle balances may earn yield. Utila's pay-ins guide makes the same point: these are commercial and regulatory calls, not technical ones.

Step 1: Create the vault and lock the admin quorum first

Set the admin quorum before you fund anything. In Utila it can be 1 or 2 approvers, and with 2, the initiating admin plus one more admin must approve each vault action, according to Utila's admin quorum guide.

The quorum guards the sensitive levers: changing the quorum itself, transaction and compliance policies, users and devices, address book entries and groups, wallet names, and backups. A quorum change also has to be approved by the existing quorum, which clears every pending request before the new one takes over (Utila).

Utila recommends two approvers for any vault that holds client funds, per its migration guide. You can also set custom quorums per vault action under Vault Settings, Admin Quorum, Manage Quorums, and some actions offer auto approval (Utila).

Stablecoin Insider's recommendation for a USDC treasury: a quorum of 2, with no auto approval on policy or address book changes.

Step 2: Assign roles so no one can pay and approve alone

Utila has five member roles, and they split cleanly along maker-checker lines, per Utila's role guide:

  • Viewer: read-only, no vault settings, can't create or sign.
  • Non-signing operator: initiates and approves transactions, manages address book entries, can't sign. A restricted version is limited to specific wallets.
  • Signer: everything an operator does, plus holds key shares and signs transactions. No vault settings.
  • Non-signing admin: full vault configuration and signs vault actions, but can't sign transactions.
  • Admin: everything, including signing transactions. One admin is the vault owner.

On a 3-seat Starter plan, one workable split is: the treasurer as Admin, the controller as Non-signing admin (so the two of them form the quorum of 2), and an accounts-payable lead as a restricted Non-signing operator who initiates payouts from one wallet only. That layout uses every seat on the plan (Utila pricing).

Step 3: Lay out wallets by job, not by chain

Utila maps one wallet to one address per chain, so a single "Treasury" wallet holds your USDC on Ethereum, Base and Solana under one name, per the pay-ins guide. Split wallets by purpose instead, then group them so rules can target the group.

WalletHoldsWho can move itPolicy posture
Treasury reserveSurplus USDCSigner after 2 approvalsRequires approval, two groups
Operating / payoutsNext 1 to 2 weeks of outflowsCo-Signer within limits; humans aboveAllow below a cap, approval above
Deposit wallet groupCustomer or counterparty receiptsSweep service account onlyAllow to treasury wallet only
Gas sponsorETH, SOL and other native tokensSponsor role in sweepsExcluded from sweeps
Yield (optional)USDC allocated to Utila YieldTreasurer plus approverRequires approval both ways

The three-tier split (operating, reserve, investable surplus) comes from Utila's own treasury playbook, which also says to keep excess liquidity in a reserve wallet that automated payouts can't reach. Creating a wallet group needs admin quorum approval (Utila).

Step 4: Load the address book before the first payout

The address book is the allowlist your rules point at. Utila says it can ensure assets only go to pre-approved addresses and block any transfer or contract call to a destination that isn't on the list, per Utila's address book guide.

For a supplier list, upload a CSV with the columns Name, Address, Blockchain and an optional Note. Each entry is a sensitive vault action that needs admin quorum approval, and bulk uploads can be approved and signed in one pass on the mobile app (Utila). Duplicate address and chain pairs, special characters in names and blank addresses are rejected, so clean the file first.

Then put suppliers, internal wallets and off-ramp deposit addresses into separate address book groups. You'll reference those groups as destinations in Step 5.

Step 5: Write a first-match transaction policy

Every outbound transaction is checked against your rules from top to bottom, and the first rule whose conditions all match decides the outcome, per Utila's policy guide. Each rule takes one of three actions: Deny, Requires approval, or Allow (Utila).

A Transfer rule can match on initiator, source wallet or group, amount (per transfer or accumulated hourly, daily, weekly or monthly), destination, chain and token, plus an allowed signer. One catch: a saved rule can't be edited, only duplicated or deleted, per Utila's rule editor guide.

Here's an illustrative USDC policy stack. Order matters, so the narrow rules sit above the broad ones.

PriorityRule (Transfer, token USDC)Action
1Initiator: sweep service account. From: deposit wallet group. To: treasury reserve walletAllow (Co-Signer signs)
2Initiator: payout service account. From: operating wallet. To: supplier address book group. Up to $5,000 per transfer and $50,000 per dayAllow (Co-Signer signs)
3From: operating wallet. To: supplier group. Up to $100,000 per transferRequires approval: 1 from finance group
4From: treasury reserve. To: operating wallet or off-ramp groupRequires approval: finance plus compliance groups
5Any transaction type, any sourceRequires approval: 2 admins
(none)Anything no rule matchedRejected by default (Utila)

Dollar thresholds above are Stablecoin Insider's examples. Utila's own advice is to start auto-approval limits low and raise them as payout history builds, per its pay-ins guide. Keep the accumulated-amount box in mind too: with "All transfers count against this amount" ticked, transfers caught by other rules still eat into the daily cap (Utila).

Step 6: Automate sweeps and payouts with a service account and Co-Signer

Automation runs through service accounts. Creating one doesn't need the quorum, but granting it a role does, and the only roles available are Viewer and Signer. Each account can hold up to 3 active RSA keys, and adding a key needs quorum approval while removing one is immediate, per Utila's service account docs.

Lock each account to your egress IPs. Utila supports individual IPv4 and IPv6 addresses but not CIDR ranges, and changing the list is itself a quorum action (Utila). Use a Viewer account for deposit monitoring, since crediting deposits only reads data (Utila).

The Co-Signer is a CLI tool that polls the vault and signs only transactions designated to its service account. It runs in sign-all mode or webhook mode, and in webhook mode an unreachable or non-200 endpoint leaves the transaction pending rather than signing it. Transfers created in the console are never sent to the Co-Signer, per Utila's Co-Signer docs.

Utila's documented USDC sweep then runs in four calls:

  • Query balances for the USDC asset across every wallet with the wildcard wallet ID, up to 1,000 results per page (Utila sweep guide).
  • Filter out zero, below-threshold and frozen balances, plus the treasury and sponsor wallets (Utila).
  • Initiate one transfer per wallet with the sponsor field set, so the deposit wallet needs no native gas (Utila).
  • Track each one to CONFIRMED, ideally through TRANSACTION_STATE_UPDATED webhooks (Utila).

Two details save real pain. Pass a requestId on InitiateTransaction and Utila ignores a retried duplicate for at least 60 minutes, per the API reference. And webhooks are retried with back-off for up to 24 hours, then discarded, so keep a polling backstop (Utila).

Step 7: Decide what idle USDC does (Utila Yield)

On 19 October 2026, Utila added Presto's USDC Prime and Forte vaults to Utila Yield, with deposits and withdrawals governed by each client's existing transaction policies and approvals, per Utila's announcement. Prime lends against blue-chip collateral; Forte lends against selected real-world asset collateral, including tokenized private credit.

Presto's own Morpho post lists a 3% to 5% target APY and a 10% performance fee for Prime (WBTC collateral only), and 5% to 8% with a 15% performance fee for Forte, both on Ethereum (Morpho forum). Targets aren't guarantees, and withdrawals depend on vault liquidity.

If you allow yield at all, give it its own wallet and a Requires approval rule in both directions, so allocations never ride the payout automation. Stablecoin Insider's guide to stablecoin yield for corporate treasury covers the mandate questions to settle first.

Worked example: what Starter costs per dollar moved

The Starter fee is fixed, so its cost per dollar falls as volume rises. At $799 a month for 12 months, the annual platform fee is $9,588 (Utila pricing). Gas, screening vendors and off-ramp fees come on top.

Outbound USDC per quarterOutbound per yearStarter fee per yearFee as share of outbound
$250,000$1M$9,5880.96%
$500,000$2M$9,5880.48%
$1.5M$6M$9,5880.16%
$3M (Starter cap)$12M$9,5880.08%

Source for fee and cap: Utila pricing. Percentages are Stablecoin Insider's arithmetic.

The read: at $500,000 a quarter or less, the platform fee alone is about half a percent or more of what you move. Near the cap it's under a tenth of a percent, but a busy quarter can push you past $3M and into a custom plan quote (Utila).

The downside: where a Utila USDC treasury setup breaks

  • One vault on Starter. Utila's playbook recommends separate vaults per legal entity, but Starter includes 1 vault, so multi-entity groups pay for more (Utila pricing, Utila playbook).
  • Three seats is tight. A quorum of 2 plus one operator uses all 3 users; one approver on holiday can stall policy changes. Ask sales whether service accounts count as seats (Utila).
  • Rules are append-only. A saved rule can't be edited, and a broad rule placed too high silently overrides narrower ones (Utila).
  • Gas still needs care. Bitcoin, Cosmos and TON wallets need gas prefunded, and Tron USDT sponsorship needs a one-time approval with initial gas (Utila, Utila).
  • Fail-safe can mean stuck. If your Co-Signer webhook is down, payouts wait in pending instead of failing loudly (Utila).
  • Rate limits aren't contractual. Utila calls its defaults guidance that may change, and raises them commercially (Utila).

And it isn't a licence. Utila positions itself as software plus a Licensed Partner Network, so holding customer USDC still needs your own licence or a regulated partner, per the pay-ins guide.

Who a Utila USDC treasury fits, and who should look elsewhere

It fits payment-heavy teams: PSPs, payroll platforms and fintechs sweeping thousands of deposit wallets into one treasury, where gas sponsorship and Co-Signer automation remove most manual work. Utila says batch payouts run on 26 EVM networks plus Bitcoin, Tron, Solana and Stellar, among others (Utila).

Trading-first desks that live on exchange connectivity and off-exchange settlement may still prefer the incumbent; Stablecoin Insider's Fireblocks review covers that side, and the digital asset custody solutions roundup covers regulated custodians if you need a qualified custodian rather than self-run MPC wallets.

🧭
Stablecoin Insider's take: Utila's strongest feature for a USDC treasury is a boring one, the deny-by-default rule engine paired with a separate admin quorum. It means a stolen API key can only do what a rule already allows, and nobody can widen that rule alone. The weak spot is the entry plan. One vault and three seats are enough for a single-entity payments team, not for a group treasury with subsidiaries. Budget for a custom plan from day one if you have more than one legal entity.

Still choosing a platform? Stablecoin Insider's head-to-head of Utila and Fireblocks compares architecture, payment tooling, pricing signals and migration paths.

Compare Utila vs Fireblocks
Stablecoin Treasury Management: A Practical Guide
How finance teams hold, move and govern stablecoin balances across entities and payment flows.

FAQ

How do I set up a Utila USDC treasury?

Create the vault, set a quorum of 2, assign roles, split wallets by purpose, load the address book and write ordered transaction rules. Then automate sweeps with a Signer service account and the Co-Signer (Utila).

How much does Utila cost?

The Starter plan is $799 a month for 12 months, billed quarterly, with up to $3M of outbound volume per quarter, 1 vault and 3 users. Larger plans are quoted (Utila pricing).

What happens if a transaction matches no Utila policy rule?

It's rejected automatically. Rules run top to bottom and the first full match decides the outcome (Utila).

Can Utila sweep USDC without gas in every deposit wallet?

Yes, on chains that support sponsored transfers: leading EVM chains, Solana, Sui and Aptos. Bitcoin, Cosmos and TON wallets still need gas first (Utila).

What roles can a Utila service account have?

Only Viewer or Signer. Assigning the role, adding keys and changing IP restrictions all need admin quorum approval (Utila).

Is Utila a custodian?

Not in the regulated sense. Utila provides MPC wallet and governance software; licences for holding client funds come from you or a partner in Utila's Licensed Partner Network (Utila).

Can a Utila treasury earn yield on idle USDC?

Yes, through Utila Yield, which added Presto's USDC Prime and Forte vaults on 19 October 2026 under the client's own policies (Utila).


Forward look: build the policy before the integration. Write the rule stack on paper, run it on a testnet vault with a Viewer deposit monitor and a Signer sweep account, and only then raise the auto-approval cap. If you're still weighing platforms, start with Stablecoin Insider's Utila vs Fireblocks breakdown, then come back to this checklist.

This content is provided for informational and educational purposes only and does not constitute financial, investment, legal, or tax advice; it is not financial advice, and no material herein should be interpreted as a recommendation, endorsement, or solicitation to buy or sell any asset or token. Utila's plans, limits, supported chains and features are set by Utila and can change; check the live pricing page, Help Center and API reference before you configure a production vault. Nothing here is a solicitation to buy or sell.

Latest

Mastercard Stablecoin Security: Screening Onchain Payments

Mastercard Stablecoin Security: Screening Onchain Payments

Mastercard's new Stablecoin Security API gives banks and payment providers a risk score before a stablecoin payment leaves. What it screens, how it differs from wallet analytics, what the GENIUS Act asks, and what Mastercard has not disclosed.

Members Public