If you’re managing digital assets at an institutional level, you already know the risks and restrictions of SaaS based self custody solutions:
- Slow to add new chains
- You don't have a voice inside the vendor's organization
- Compliance concerns
- Security trade offs
You recognise that self hosting would be a better alternative... however, maybe you’re worried about the complexity and time investment required to deploy wallet infrastructure.
The Shift to Self-Hosted Wallets—Without the Complexity!
Today, it’s different. With Cordial Treasury, institutions can run their own self-hosted wallet infrastructure quickly and efficiently, without the complexity of professional services, endless integrations, or DevOps heavy lifting.
This quick start guide focuses on getting familiar with the product and its core workflows, whether through a hosted demo environment or a self-hosted Treasury deployment, using the Solana and Ethereum testnets. Future content will explore advanced integrations and production-ready configurations, but for now, this is about helping you realise the value of Cordial Treasury quickly, in a risk free environment, and with no commitment to taking out a commercial version.
- Non-technical users can get familiar with Cordial Treasury’s UI and workflows in just 20 minutes.
- Technical teams can self-host and create a test environment setup that matches their current workflows within 1 or 2 hours. Ideal for a technical spike in exploring a new tool.
Hosted Track (For Immediate Hands-On Testing)
Ideal for: Non-technical users (Operations, Treasury, Trading Ops, Compliance) and technical users who want to explore first.
- Instantly access a fully managed test environment—no deployment required.
- Explore the UI, workflows, and policy management tools.
- Test transactions, approval flows, and multi-user role structures in a secure sandbox.
This is for institutions that want to evaluate Cordial Treasury without deploying infrastructure, our hosted testing node provides a fully managed testing environment.
Non Technical Users
- For non-technical users, logging into Cordial Treasury is a simple email sign-up process - provide the names and emails of users who will access the system - there is a signup workflow at the bottom of this article to achieve exactly that, this is step 1.
- Once test users are signed up, they can be invited to your test Organization. Cordial Systems will generate invite codes, which are the bootstrap credentials to register each of these users with your Cordial Treasury. The next step is to register a credential, such as a YubiKey, passkey, or WebAuthn method approved by your institution. This credential is used for:
- Authenticating into the system
- Signing transactions, editing policies, and managing addresses

- Click "Begin Session" to authenticate yourself to the system with your registered credential. You can now explore Treasury workflows through an intuitive UI. Navigate through the dashboard and learn how to take some routine actions immediately
- Create an address and define who can interact with it.
- Allowlist destination addresses for secure transfers.
- Fund your test addresses with faucet tokens to simulate real-world transactions (the Cordial team can also send you some testnet faucet tokens if needs be).
- Create an Account structure that groups multiple addresses under logical units (e.g. "Client A", or "Portfolio Manager 1").
The user created for you for testing purposes has broad permissions. This makes it as frictionless as possible to interact with your wallets, policies, and more. To test permissions and approval flows, you can even create multiple test users with different access levels—helping you explore segregation of roles and responsibilities in a real-world setting.
Note: Addresses you create are “default deny”, meaning they exist upon creation but have no functionality. You need to create rules around which users can interact with them and which destination addresses it can send to. Then it becomes functional.
Technical Users
For developers and technical users, the hosted track allows you to interact directly with the Treasury API using the CLI tool. After registering a credential and logging in, you can start an authenticated session and begin executing commands against the Treasury API.
The online tutorial documentation will handhold you through some initial tasks, here. Whereas additional cookbooks also exist as further exercises with example CSL scripts that allow you to:
- Create a role and define access permissions.
- Assign roles to users with different privilege levels.
- Generate deposit addresses for simulated transactions.
- Bulk-configure policies to test approval workflows.
- Fund addresses with testnet tokens and execute sample transfers.

Self-Hosted Track: Deploy Your Own Treasury Node
Ideal for: Developers, Security, Infrastructure, and Engineering teams.
- Experience the full power of self-hosting with a lightweight deployment.
- Install and run Cordial Treasury in minutes, using a single Docker container—no specialized hardware needed.
Sign up for a Cordial Account on https://portal.cordial.systems contact Cordial Systems to provision an organization (via the links at the bottom), download and install the Treasury CLI from https://dl.cordial.systems, and run “treasury demo start” in a terminal. Similar to the technical user section above, you should follow along with the tutorial here to familiarise yourself with some core workflows. First, let's get setup:
- Install the Treasury Demo Image
- Download and install the Treasury CLI
- Run: treasury demo start
- Initialize your Treasury Instance
- Set up a testnet environment with a dedicated Treasury ID
- Access the Treasury REST API and launch core processes
This initializes a new Treasury instance for testnet chains only and creates your Treasury ID. It also exposes the Treasury REST API and launches all core processes (policy engine, signer, connector)
- Verify your Setup
- Ensure your Treasury instance is running correctly.
You can check /healthy or /healthy?verbose endpoint in a browser to see the health of the system. This endpoint will check various health signals, like ascending block height, engine nodes signing blocks, local MPC connectivity, enrollement of credentials for signer or connector, etc.
- Register a Credential
With the CLI you can run: treasury user enroll --invite ${INVITE} --api-url ${API_URL} ${USER}. This will take your invite code and create a local key for signing with the associated user. Now you're good to go with following the tutorial!
Success!
The above breaks down the steps to get you started in evaluating a self hosted wallet solution. You got access to a sandbox environment and if you followed along with our tutorials then you are well on your way to becoming a power user and running your own wallet infrastructure!
Start Your Journey to Self-Hosted Security Today
Request your test organization and get started here
Download the Treasury CLI: https://dl.cordial.systems
Take control of your institutional crypto security—without the complexity.