Getting Started
Dinari is infrastructure for tokenized real-world assets. Our API lets you offer your users U.S. equities and a yield-bearing dollar, on-chain, without becoming a broker-dealer yourself. We handle the brokerage relationships, settlement, custody, and compliance layer underneath.
Dinari dShares
Dinari offers our tokenize assets, called dShares, as blockchain tokens backed 1:1 by real securities, mostly U.S. equities. Tokens are minted or burned only after the corresponding trade settles in a real brokerage account, so backing is always in sync with supply. The full list of dShares available can be seen on our Transparency Page.
The integration at a glance
Most integrations follow the same seven steps:
graph LR A[1. Create Entity] --> B[2. Verify identity] B --> C[3. Open Account<br/>+ connect Wallet] C --> D[4. Fund account] D --> E[5. Place orders] E --> F[6. Market data +<br/>corporate actions] F --> G[7. Deploy to<br/>production]
1. Create an Entity - An Entity represents your organization or one of your individual customers. It's the root object everything else attaches to.
2. Perform KYC - Every entity needs KYC before it can trade. Bring your own provider (Persona, Onfido, and others are supported) or use Dinari's white-label Managed KYC flow.
3. Open an Account and connect a Wallet - An Account is the financial account attached to an Entity. Wallets can be Dinari-managed or a self-custody wallet, linked by signed message.
4. Fund the account - Production accounts fund with USD+, USDC, or USDT through a connected wallet. In sandbox, call the faucet instead. Note, availability varies by chain.
5. Place orders - Dinari supports market and limit orders through our platform.
6. Pull market data and handle asset lifecycle - Supported stocks, live quotes, historical prices, and news. Dividends, splits, ticker changes, and mergers are processed for you, but your app needs to reflect them.
7. Deploy to production - Complete KYB, swap in production credentials, and point at mainnet contracts.
Two ways to integrate
API + SDK
Build your own experience on top of our REST API using the TypeScript, Python, Java, or Go SDKs. Partners have full control over UX and flow.
Hosted Trading
A white-label, theme-able trading UI, fully hosted by us or self-hosted by you, wired to the same Enterprise API. The fastest route to launch if you don't want to build order entry and portfolio screens from scratch.
Get started
1. Create a partner account
Log in or sign up at partners.dinari.com.
2. Generate a sandbox API key
In the dashboard, select the Sandbox environment, then create a new API key. You'll get an API Key ID and an API Secret Key.
export DINARI_API_KEY_ID="your_key_id"
export DINARI_API_SECRET_KEY="your_secret_key"3. Install an SDK
| Language | Library |
|---|---|
| Javascript / Typescript | @dinari/api-sdk |
| Java | @dinari/api-sdk-java |
| Python | dinari-api-sdk |
| Go | dinariapisdk |
4. Make your first call
Listing supported stocks needs no Entity, no KYC, and no funding it's the fastest way to confirm your credentials work.
import Dinari from '@dinari/api-sdk';
const client = new Dinari({
apiKeyID: process.env['DINARI_API_KEY_ID'],
apiSecretKey: process.env['DINARI_API_SECRET_KEY'],
environment: 'sandbox',
});
async function main() {
const stocks = await client.v2.marketData.stocks.list();
console.log(stocks);
}
main();import os
from dinari_api_sdk import Dinari
client = Dinari(
api_key_id=os.environ.get("DINARI_API_KEY_ID"),
api_secret_key=os.environ.get("DINARI_API_SECRET_KEY"),
environment="sandbox",
)
stocks = client.v2.market_data.stocks.list()
print(stocks)package main
import (
"context"
"fmt"
"log"
dinari "github.com/dinaricrypto/dinari-api-sdk-go"
"github.com/dinaricrypto/dinari-api-sdk-go/option"
)
func main() {
client := dinari.NewClient(
option.WithEnvironmentSandbox(),
)
stocks, err := client.V2.MarketData.Stocks.List(context.TODO(), dinari.V2MarketDataStockListParams{})
if err != nil {
log.Fatalf("Failed to list stocks: %v", err)
}
fmt.Printf("Stocks: %+v\n", stocks)
}Where to go next
Onboard your first customer
Entity Management → Identity Verification → Regional Requirements (see US Customers for additional requirements)
Set up money movement
Managing Accounts → Managing Wallets → Funding Accounts through Wallets
Start trading
Placing Orders · Order Types & Behaviors · Trading Hours · Placing dShare Orders with Alchemy
Keep your app in sync
Stock Data · Pricing & Quotes · Corporate Actions — dividends, splits, ticker changes, mergers
Go deeper on the asset layer
What are dShares™? · Blockchain · Wrapping dShares™ · What is USD+? · USD+ Integration Guide
Ship it
Deploy to Production · Partner Fees · Restrictions · Security
Full endpoint documentation lives in the API Reference. Recent changes are in the Changelog. Happy Trading!
Updated 12 days ago
