Connecting Opsion to Utila: import your Vaults, monitor everything in minutes
Utila is where institutional teams manage their crypto treasury: MPC wallets stored in Vaults, approval policies, and asset operations across multiple chains. Opsion is where you watch everything that happens inside those Vaults in real time. The two products complement each other cleanly, and connecting them is deliberately fast.
This post walks through the full setup: authorising the integration, importing your Vaults and wallets, and applying alert rules so your team is notified the moment something significant moves.
Why connect Opsion to Utila?
Utila gives you operational control over your assets. Opsion gives you continuous visibility into what those assets are doing on-chain. They solve different problems, and neither duplicates the other.
Utila's policy engine controls who can approve a transaction before it leaves your custody. Opsion monitors what happens once it does: where the funds go, who the counterparties are, whether there are risk signals, and whether any of your rules have been matched. Coverage starts at the moment a transaction lands on-chain and extends to every subsequent hop, across every chain your Vaults operate on.
If you use Utila for custody and have no continuous on-chain monitoring layer, you are flying blind the moment funds leave your policy engine. Opsion closes that gap.
Step 1: Create a service account in Utila
The integration uses a Utila service account — a non-human identity with scoped, read-only access to your workspace. Service accounts are the correct credential type for programmatic integrations: they are auditable, revocable independently of any user account, and carry only the permissions you explicitly grant.
To create one, open your Utila workspace and navigate to Settings → Service Accounts. Create a new service account and assign it read-only permissions on the Vaults and wallets you want Opsion to monitor. During creation, Utila will generate a public/private key pair for the account. Download or copy the private key at this point — it is only shown once.
You will need two things from this step:
- The service account name, exactly as it appears in your Utila workspace.
- The private key generated for that service account.
Step 2: Add the credentials to Opsion
In your Opsion console, navigate to Settings → Integrations and select Utila. Paste your service account name and private key into the respective fields and save. Opsion uses these credentials to authenticate against the Utila API on your behalf — strictly read-only. We never use the service account to initiate transactions or modify anything in your Utila workspace.
Once saved, Opsion immediately verifies the credentials by fetching your Vault list. If the connection succeeds, your Vaults appear in the import screen within a few seconds. If it fails, Opsion surfaces the specific error — usually a permissions mismatch or a copied key with trailing whitespace — so you can correct it without guessing.
Step 3: Import your Vaults and wallets
Once connected, Opsion pulls your Vault structure from Utila and presents it as a selectable list. You will see each Vault name exactly as it appears in Utila, along with its associated wallets and the chains they operate on.
You can import at two levels:
- Import an entire Vault: every wallet address inside that Vault is added to Opsion for monitoring in one action. New wallets added to the Vault in Utila later are automatically picked up.
- Import individual wallets: if you only want to monitor a subset — a specific hot wallet, a treasury address, or a new address created for a particular counterparty — you can select individual addresses from within a Vault.
For most teams, importing at the Vault level is the right default. It ensures nothing is missed as your wallet set grows, and it maps naturally to how your compliance and operations teams already think about asset groupings in Utila.
Keeping your Vault structure in sync
Opsion maintains a live sync with your Utila workspace. When a new wallet is provisioned inside an imported Vault, it appears in Opsion within 60 seconds and inherits the alert rules already applied to that Vault. There is no manual step required to add new addresses to your monitoring coverage.
Step 4: Apply alert rules
With your Vaults imported, the next step is telling Opsion what to watch for. Alert rules are the conditions that trigger a notification: a transaction above a threshold, a transfer to a flagged counterparty, an interaction with a smart contract, or a velocity anomaly relative to historical behaviour.
Rules can be applied at three levels:
- Organisation-wide: rules that apply to every monitored address in your workspace. Useful for baseline compliance requirements like OFAC screening and large-value alerts.
- Vault-level: rules scoped to a specific Vault. A treasury Vault used for payroll might have different thresholds than a hot wallet Vault used for exchange operations.
- Wallet-level: rules on a single address. Useful when a specific wallet has unusual activity patterns or a higher risk tolerance due to its operational role.
Recommended starting rules for Utila-managed assets
For teams connecting Opsion to a Utila workspace for the first time, we suggest starting with four rule types that cover the most common compliance and operational requirements:
- Outbound transfer above threshold: alert when any wallet in an imported Vault sends a transaction exceeding your configured USD value. Set this at the Vault level so the threshold reflects the operational profile of that Vault.
- Counterparty risk flag: alert when funds are received from or sent to an address associated with a sanctioned entity, OFAC-listed party, known mixer, or high-risk exchange. This runs automatically on every transaction once enabled.
- Unusual velocity: alert when a wallet's outbound transaction volume over a 24-hour window exceeds 3x its 30-day average. Calibrated per wallet, so operational wallets with naturally high throughput do not generate false positives.
- New counterparty: alert the first time a Vault wallet transacts with an address it has never interacted with before. Particularly useful for treasury wallets where all counterparties should be known.
Each rule can be configured with its own delivery destination: Slack, Telegram, Lark, email, or webhook. You can route counterparty risk flags to your compliance team's channel, large-transfer alerts to your treasury operations channel, and velocity anomalies to your security inbox, all from the same rule configuration interface.
What monitoring looks like in practice
Once your Vaults are imported and rules are applied, monitoring is passive. Opsion streams every transaction involving your watched wallets the moment it confirms on-chain, evaluates it against your rules, and fires any matching alerts within 3 seconds.
Each alert includes the full transaction details: chain, block number, hash, addresses involved, value in both native token and USD, and a risk summary from our AI Insights layer if enabled. For counterparty risk flags, the alert includes the specific risk signal: which dataset flagged the address, when it was flagged, and what relationship it has to the transaction.
“We imported our Utila Vaults and had live alerts firing in Slack within about four minutes. The counterparty screening alone would have taken weeks to build internally.”
— Head of Compliance, digital asset custodian
AI Insights for Utila-monitored assets
For teams on a plan that includes AI Insights, every alert fired on a Utila-managed wallet also triggers a contextual analysis. This surfaces the likely intent behind the transaction, any indirect exposure through the counterparty graph, and a recommended next step: whether to file a SAR, escalate for manual review, or clear the alert.
AI Insights are particularly valuable for Utila-managed custodied assets because they give compliance teams the context to act confidently on alerts without reconstructing the chain of events manually. The analysis is plain-language, audit-ready, and exportable for STOR or SAR filings.
Getting started
The Utila integration is available on all Opsion plans. If you use Utila to manage institutional assets and want continuous on-chain monitoring across your Vaults, all you need is a service account and its private key. Head to Settings → Integrations in your Opsion console, or create a free account to get started.