The Customers API lets you create managed accounts for your own business customers. Each customer gets their own wallets and transaction history under your platform umbrella — you retain full programmatic control while keeping each customer’s data isolated.
This is the foundation of a B2B crypto-as-a-service product: you use the Yativo API on the backend, and your customers interact with your interface.
interface Customer {
customer_id : string ;
email : string ;
name ?: string ;
phone ?: string ;
metadata ?: Record < string , string >;
status : "active" | "suspended" ;
created_at : string ;
}
interface CreateCustomerRequest {
email : string ;
name ?: string ;
phone ?: string ;
metadata ?: Record < string , string >;
}
Create a Customer
POST /customers/create-customer
Customer’s email address. Used as the unique identifier for the customer.
Full name of the customer or business.
Arbitrary key-value pairs for storing your own reference data (e.g., your internal customer ID, account tier, etc.).
curl -X POST https://crypto-api.yativo.com/api/customers/create-customer \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"email": "customer@example.com",
"name": "Acme Corp",
"phone": "+14155551234",
"metadata": {
"internal_id": "cust-8821",
"plan": "enterprise"
}
}'
{
"id" : "cust_01abc123" ,
"email" : "customer@example.com" ,
"name" : "Acme Corp" ,
"phone" : "+14155551234" ,
"metadata" : {
"internal_id" : "cust-8821" ,
"plan" : "enterprise"
},
"status" : "active" ,
"created_at" : "2026-03-26T10:00:00Z"
}
Get Customers
POST /customers/get-customers
Returns all customers under your platform account.
curl -X POST https://crypto-api.yativo.com/api/customers/get-customers \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN"
{
"customers" : [
{
"id" : "cust_01abc123" ,
"email" : "customer@example.com" ,
"name" : "Acme Corp" ,
"status" : "active" ,
"created_at" : "2026-03-26T10:00:00Z"
},
{
"id" : "cust_02def456" ,
"email" : "another@example.com" ,
"name" : "Beta Inc" ,
"status" : "active" ,
"created_at" : "2026-03-20T08:00:00Z"
}
],
"total" : 2
}
Get Customer Transactions
POST /customers/get-customer-transactions
Returns the full transaction history for a specific customer.
The ID of the customer to retrieve transactions for.
curl -X POST https://crypto-api.yativo.com/api/customers/get-customer-transactions \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"customer_id": "cust_01abc123"}'
{
"customer_id" : "cust_01abc123" ,
"transactions" : [
{
"transaction_id" : "txn_01pqr456" ,
"type" : "withdrawal" ,
"status" : "completed" ,
"amount" : "100.00" ,
"ticker" : "USDC" ,
"chain" : "ethereum" ,
"to_address" : "0x9F8b3A2c1E4D7F6B5A4C3D2E1F0A9B8C7D6E5F4" ,
"completed_at" : "2026-03-26T10:07:30Z"
},
{
"transaction_id" : "txn_02stu789" ,
"type" : "deposit" ,
"status" : "completed" ,
"amount" : "500.00" ,
"ticker" : "USDC" ,
"chain" : "ethereum" ,
"from_address" : "0x1A2B3C4D5E6F7A8B9C0D1E2F3A4B5C6D7E8F9A0B" ,
"completed_at" : "2026-03-25T14:30:00Z"
}
],
"total" : 2
}
Customer Wallets
After creating a customer, add wallets using the Assets API with the customer-specific endpoints:
# Add a wallet for a customer
curl -X POST https://crypto-api.yativo.com/api/assets/add-customer-asset \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"customer_id": "cust_01abc123",
"chain": "solana",
"ticker": "USDC_SOL"
}'
# Get all wallets for a customer
curl -X POST https://crypto-api.yativo.com/api/assets/get-customer-assets \
-H "Authorization: Bearer YOUR_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{"customer_id": "cust_01abc123"}'
See the Assets page for full documentation on these endpoints.
Customer Data Model
Your Platform Account
├── Customer: Acme Corp (cust_01abc123)
│ ├── Wallet: USDC on Ethereum
│ ├── Wallet: USDC_SOL on Solana
│ └── Transaction history
└── Customer: Beta Inc (cust_02def456)
└── Wallet: USDT on Polygon
Customer data is isolated — one customer’s wallets and transactions are never accessible from another customer’s context. Your platform account has visibility across all customers.
Store your internal customer ID in the metadata.internal_id field when creating customers. This makes it easy to cross-reference Yativo customer IDs with your own database.
Sandbox Testing
Replace YOUR_SANDBOX_TOKEN with a token obtained by authenticating against https://crypto-sandbox.yativo.com/api/. See Sandbox Overview .
Create a Customer (Sandbox)
cURL (Sandbox)
TypeScript SDK (Sandbox)
curl -X POST 'https://crypto-sandbox.yativo.com/api/customers/create-customer' \
-H 'Authorization: Bearer YOUR_SANDBOX_TOKEN' \
-H 'Content-Type: application/json' \
-d '{
"email": "sandbox-customer@example.com",
"name": "Sandbox Test Corp",
"phone": "+14155550100",
"metadata": {
"internal_id": "sandbox-cust-001",
"plan": "test"
}
}'
List Customers (Sandbox)
cURL (Sandbox)
TypeScript SDK (Sandbox)
curl -X POST 'https://crypto-sandbox.yativo.com/api/customers/get-customers' \
-H 'Authorization: Bearer YOUR_SANDBOX_TOKEN'