Custodians & Centralized Exchanges (CEXs)
Introduction
1Money's APIs enable seamless integration with automation, security, and compliance workflows common across custodian and centralized exchanges.
Key features include:
Out-of-the-box support for tracking account balances, recent transactions, and payment transfers.
Simplified management of accounts, thanks to the 1Money protocol’s gasless transactions, low latency, and high throughput—even during periods of high market volatility.
Compatibility with Ethereum’s elliptic curve cryptography and address format, facilitating integration with MPC (Multi-Party Computation) signing processes.
Integration Guide
The following provides How-To's on common functions for Custodians and Exchanges.
1. Infrastructure
Get started immediately by connecting directly to 1Money Network's publicly available Rest API Endpoints and Websockets.
2. Account management
Address and private key format
The 1Money Network uses the same elliptic curve signature scheme and account addresses as Ethereum, ensuring a familiar user experience.
Based on the Ethereum standard, a private key is made up of 64 hex characters and can be encrypted with a password.
Example:
Private Key: 0x6d8e4df8f5177ed29a9c1742e1b774a2a6e1e7a2e397ad03b1b57e0b8a118536
The public key is generated from the private key using the Elliptic Curve Digital Signature Algorithm. You get a public address for your account by taking the last 20 bytes of the Keccak-256 hash of the public key and adding 0x
to the beginning.
Example:
Public Key: 0x5e97870f263700f46aa00d967821199b9bc5a120
Account Creation
Account public/private keypairs from Ethereum can be reused seamlessly on the 1Money Network.
New Accounts can be generated using any wallet within Ethereum and simply reused on 1Money.
Wallet integrations both with popular existing wallets and native solutions will be coming in the near future.
3. Asset standards
Tokens on the 1Money Network share the following attributes:
Token value can support 0–18 decimals.
Each token has a
master_authority
, designating the original issuer.
Use the get token metadata API to pull specific metadata on a token.
Example result:
{
"symbol": "LTEST2",
"master_authority": "0x4f9f49f7f437da81fcc1b0cf82edb510ffe4b92c",
"master_mint_authority": "0x0000000000000000000000000000000000000000",
"minter_authorities": [],
"pause_authority": "0x0000000000000000000000000000000000000000",
"burn_authorities": [],
"black_list_authorities": [],
"black_list": [],
"metadata_update_authority": "0x0000000000000000000000000000000000000000",
"supply": "100000000000000",
"decimals": 6,
"is_paused": false,
"is_private": false,
"meta": null
}
4. Balance Retrieval
Use the get account by token API with your account address
and token address
as inputs to fetch balances.
Example result:
{
"token_account_address": "0x204ebf86a36fb93b80d077e55484bed31537b200",
"balance": "99750399380000",
"nonce": 2470
}
5. Tracking balance changes
Balance changes can be queried by:
Getting the get checkpoint latest number API to find the network's latest checkpoint number
Compare the network's checkpoint number to your local checkpoint number
If they match, use the get checkpoint by number API to pull all the transaction data from that checkpoint
Input the latest checkpoint number (
number=
) and set&full=true
to pull the transaction data
Example result:
{
"extra_data": "text",
"hash": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"number": "1500",
"parent_hash": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"receipts_root": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"state_root": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"timestamp": "1739760890",
"transactions_root": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"size": 1,
"transactions": [
{
"data": {
"decimals": "18",
"master_authority": "0x9E1E9688A44D058fF181Ed64ddFAFbBE5CC742Ab",
"symbol": "USDX"
},
"transaction_type": "TokenCreate"
},
{
"chain_id": "21210",
"checkpoint_hash": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"checkpoint_number": "10",
"fee": "10",
"from": "0x9E1E9688A44D058fF181Ed64ddFAFbBE5CC742Ab",
"hash": "0xf55f9525be94633b56f954d3252d52b8ef42f5fd5f9491b243708471c15cc40c",
"nonce": "10",
"signature": {
"r": "72956732934625920503481762689501378577921804342307439094906376029324416116949",
"s": "29902520081700531224291681396692026253288382272435451874524203378285409371412",
"v": "1"
},
"transaction_index": "10"
}
]
}
6. Asset Transfers
To transfer assets:
Use the submit payment API to prepare the transaction with a private key signature
Submit a signed transaction to the network.
Upon submission, a transaction hash is returned.
Use get transaction receipt by hash to check on the status of your transaction.
Transactions are finalized instantly—no need to wait for checkpoint confirmations.
Last updated