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:

  • 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:

  1. Token value can support 0–18 decimals.

  2. 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


Checkpoint:

The 1Money Network is a broadcast-based network which is different from a blockchain network. A checkpoint in the 1Money Network represents a specific point in time that captures the current state of each account.

Learn more in the system components section.

Balance changes can be queried by:

  1. Getting the get checkpoint latest number API to find the network's latest checkpoint number

  2. Compare the network's checkpoint number to your local checkpoint number

  3. If they match, use the get checkpoint by number API to pull all the transaction data from that checkpoint

  4. 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:

  1. Use the submit payment API to prepare the transaction with a private key signature

  2. Submit a signed transaction to the network.

  3. Upon submission, a transaction hash is returned.

  4. 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