Initial commit

This commit is contained in:
Yaser
2026-08-13 19:42:08 +03:30
commit d59bf30ef0
173 changed files with 11702 additions and 0 deletions

View File

@@ -0,0 +1,190 @@
roles:
- superadmin
- admin
- technical
- accountant
- compliance
- support
- member
- broker
- trader
- maker
- sa_maker
admin_permissions:
superadmin:
manage:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Operations::Revenue
- Member
- Account
- Beneficiary
- PaymentAddress
- Deposit
- Withdraw
- WithdrawLimit
- Blockchain
- Currency
- Engine
- Market
- TradingFee
- Wallet
- Adjustment
- InternalTransfer
- WhitelistedSmartContract
read:
- Trade
- Order
create:
- Deposits::Fiat
update:
- Order
admin:
manage:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Operations::Revenue
- Beneficiary
- Deposit
- Withdraw
- WithdrawLimit
- Engine
- Market
- TradingFee
- Wallet
- Adjustment
- InternalTransfer
- WhitelistedSmartContract
- Currency
- Blockchain
read:
- Trade
- Order
- Account
- PaymentAddress
- Member
create:
- Deposits::Fiat
update:
- Order
- Member
technical:
read:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Trade
- Order
- Member
- InternalTransfer
manage:
- WithdrawLimit
- Blockchain
- Currency
- Engine
- Market
- TradingFee
- Wallet
- WhitelistedSmartContract
update:
- Order
accountant:
read:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Operations::Revenue
- Member
- Account
- Beneficiary
- PaymentAddress
- Deposit
- Withdraw
- WithdrawLimit
- Blockchain
- Currency
- Engine
- Market
- TradingFee
- Wallet
- Trade
- Order
- Adjustment
- InternalTransfer
create:
- Deposits::Fiat
- Adjustment
compliance:
read:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Member
- Account
- Beneficiary
- PaymentAddress
- Deposit
- Withdraw
- Currency
- Engine
- Market
- Trade
- Order
support:
read:
- Operations::Account
- Operations::Asset
- Operations::Expense
- Operations::Liability
- Member
- Account
- Beneficiary
- PaymentAddress
- Deposit
- Withdraw
- Currency
- Engine
- Market
- Trade
- Order
- InternalTransfer
user_permissions:
superadmin:
manage: all
admin:
manage: all
technical:
manage: all
accountant:
manage: all
compliance:
manage: all
support:
manage: all
member:
manage: all
broker:
manage: all
trader:
manage: all
maker:
manage: all
sa_maker:
read:
- Operations::Account
- Order
- Trade
- StatsMemberPnl
create:
- Order
update:
- Order

View File

@@ -0,0 +1,135 @@
defaults: &defaults
TIMEZONE: 'Tehran'
# Configure Redis URL, for a TCP connection:
# `redis://:[password]@[hostname]:[port]/[db]`
# (password, port and database are optional).
REDIS_PASSWORD: ~
REDIS_CLUSTER: false
# Application URL configuration variables.
URL_HOST: fibitex.com
URL_ROOT_PATH: '/'
URL_SCHEME: https
FORCE_SECURE_CONNECTION: 'true' # Set to "true" to disable access via unsecured HTTP, send HSTS headers and use secure cookies.
# Configuration variables for logger.
LOG_LEVEL: ~ # Default level for production is warn, otherwise debug.
# Configuration variables for API CORS.
#
# Set list of allowed origins using the variable below.
# By default it allows access to API from all origins.
# See https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Access-Control-Allow-Origin
API_CORS_ORIGINS: '*'
# Access-Control-Allow-Credentials response header is not supported
# if the CORS header Access-Control-Allow-Origin is *.
API_CORS_ALLOW_CREDENTIALS: 'false'
# The Access-Control-Max-Age response header indicates how long
# the results of a preflight request can be cached.
# Default value 3600.
API_CORS_MAX_AGE: ~
# Configuration variables for Sentry.
SENTRY_DSN_BACKEND: ~ # Specify Sentry DSN used for Rails application.
# Customize page metadata like title, description & keywords for landing, cabinet & admin modules.
METADATA_TITLE: Fibitex Exchange
METADATA_DESCRIPTION: Next generation of cryptoasset services for Canadians
METADATA_KEYWORDS: cryptoasset,Canadians,Exchange,Cryptocurrency,Bitcoin,Ethereum
# Configuration variables for JWT verification.
# Get explanation at https://en.wikipedia.org/wiki/JSON_Web_Token.
#
# JWT_PUBLIC_KEY
#
# JWT provider uses private key for encoding JSON Web Tokens
# while public key is used for decoding by resources.
#
# For example, Barong is JWT provider, Peatio is resource accepting JWT.
# Barong must have private key installed, Peatio must have public key installed.
#
# You can generate keypair by running:
#
# ruby -e "require 'openssl'; require 'base64'; OpenSSL::PKey::RSA.generate(2048).tap { |p| puts '', 'PRIVATE RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.to_pem), '', 'PUBLIC RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.public_key.to_pem) }"
#
# Copy the generated private key and put it's value to appropriate variable at JWT provider (for example, at Barong it will be JWT_SHARED_SECRET_KEY).
# Copy the generated public key and put it's value to variable JWT_PUBLIC_KEY (at Peatio).
#
# Peatio and JWT provider should have the same keypair installed, or they would not understand each other.
#
# You may want to adjust key length or cipher.
#
# Development and test environments already don't include sample keys.
#
# You can generate valid JWT by running:
#
# JWT.encode(payload, OpenSSL::PKey.read(Base64.urlsafe_decode64(ENCODED_PRIVATE_KEY)), ENV.fetch('JWT_ALGORITHM'))
#
# Replace ENCODED_PRIVATE_KEY with private key printed by previous command.
#
# You can decode JWT by running:
#
# JWT.decode(token, OpenSSL::PKey.read(Base64.urlsafe_decode64(ENCODED_PUBLIC_KEY)), true, algorithms: [ENV.fetch('JWT_ALGORITHM')])
#
# To authenticate using JWT send it's value in "Authorization" header:
#
# curl -H "Authorization: Bearer TOKEN" http://localhost:3000/api/v2/account/balances
#
JWT_ISSUER: ~ # JWT issuer name (optional).
JWT_DEFAULT_LEEWAY: ~ # Seconds (optional).
JWT_ISSUED_AT_LEEWAY: '180' # Seconds (optional).
JWT_EXPIRATION_LEEWAY: ~ # Seconds (optional).
JWT_NOT_BEFORE_LEEWAY: ~ # Seconds (optional).
PEATIO_JWT_PRIVATE_KEY: ~
# Scout APM configuration variables.
SCOUT_KEY: ~ # Your organization key for Scout APM. Found on the settings screen.
SCOUT_APP_NAME: ~ # Application name in APM Web UI.
SCOUT_LOG_LEVEL: warn # Verboseness of logs (debug, info, warn, error)
SCOUT_ENV: production # List of Rails environments for which Scout should be enabled.
# Configuration variables for dynamic Barong levels (1.8+).
MINIMUM_MEMBER_LEVEL_FOR_DEPOSIT: '0'
MINIMUM_MEMBER_LEVEL_FOR_WITHDRAW: '1'
MINIMUM_MEMBER_LEVEL_FOR_TRADING: '0'
# Event API configuration.
# JWT configuration.
# You can generate keypair using:
#
# ruby -e "require 'openssl'; require 'base64'; OpenSSL::PKey::RSA.generate(2048).tap { |p| puts '', 'PRIVATE RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.to_pem), '', 'PUBLIC RSA KEY (URL-safe Base64 encoded, PEM):', '', Base64.urlsafe_encode64(p.public_key.to_pem) }"
#
# RabbitMQ configuration.
# You can use just «EVENT_API_RABBITMQ_URL» or specify configuration per separate variable.
EVENT_API_RABBITMQ_URL: ~
RANGER_HOST: '0.0.0.0'
RANGER_PORT: '8081'
RANGER_CONNECT_SECURE: 'true'
BULLET: 'false'
# Configuration to allow Withdraw via API i.e (POST api/v2/account/withdraws)
ENABLE_ACCOUNT_WITHDRAWAL_API: 'true'
# Configure to limit currencies and markets on the platform.
MAX_CURRENCIES: ~
MAX_MARKETS: ~
development:
<<: *defaults
# Development configuration variables for Event API JWT.
# TODO i think below line must be comment
# EVENT_API_JWT_PRIVATE_KEY: LS0tLS1CRUdJTiBSU0EgUFJJVkFURSBLRVktLS0tLQpNSUlFb3dJQkFBS0NBUUVBb3VLVHh2SFVJVDJENmdXaWJRcS9kbW9BUUwyeWJ6SGFiUXRlc1AyL2o1VjkvUExaCmhHNWtLVkpPWjcxVVdMQ3BjZTQxeHZzQ0lKd0Q5MnVDNW5Lak5wblRDTWpwTUJNMGg0aFF4a2VOeHdNeU41N1gKM1QzbWFCVmZzUTNCblErSm84L0tzdUxhODlvY0dDeDgvYlUyOGNld2FxRk8ydUVMWWJiaUZadGFCenFJd0ZCdQpTM3hGQmt6NE16MGgvWEIxTjl5ZDg5d25OMm1oWVBsU0xrTGVUdFoyeWswK2krZHhZd2V4MEozOXJDS0hnRWRKCko1NTZHNmdtZWpJZ3dtcHNVeHJpdkVJRU5jR09POHdmQVBUVy92SFZmc2ROTExHejRtZE9CWmxsa2orcFFQODYKTnFSUjRKSnFDdEg3dHYyaXVBSGI4NnB5anVlZkVGU3ljMmxZRXdJREFRQUJBb0lCQUJrUlViamVZczB5MEdobApzWmVpZmREVmczQnpRVkRIbFZ3TzBlWGZSMm5ya2RZcDhidmwyVmhhcUdKaXl1WlRXZUNFenBYdTcyYmhXK0xxCkV0MHdhMW50MW9LVm1QMmpGd1I4d0NHanhYZ0pUK01yZVFFOWs0WVZOQUxsb1JSdzNiZnVOTDNQRis5TGMrTnMKaFZmdVdhUmdIUkJyL3R6RW9hSEtLWVUxd1djM0poSitNRklNVkZBT0RvaGp6bXNlV2lzTDNnbzVrUC9KYUpVZwprNm13Wnd0QzRvQ3pPQ3FoRGF0WVI3cktJbXMyS1lCNVBwaTRDTThkRzJGTzBwWGxXUU9XT0t2N01TUjlVeEtzCmd4YWFRRlhjajBQM2lSRFVQMDRkSWtqblNtemZmR0F2L3lBTHovZjk0V1lIK3gvd01DWms4ejJ4bnRJclllM3UKN0NOd045RUNnWUVBMEplcThCaXlKczF6YlBpcTlWWnR5L3R0M1dhaXJDbUl4cXRwU2syVU9UNmh2TldiMTUxVwpBMGRWYWEvSVBhdDV4ZkNWdGhkNlB3UGpJbWVPVXQ4Mlhib2JYeE8zREJUcmVzTlRNWUhiMGVUK09sSG04SU5uCnVwOGFxZWpWejc1ME5VYUxGWWpxWk1wVVR1Z2FVREIzNWZ1bXg0SXliNm5LRGMvSStrN25qUlVDZ1lFQXgrZVAKcE4vR1dqYjJUOU1CUm1xdkVtSGxKOXBZSEZpWGZlWnJHdzg3Q2E5WjVDYVp1VzBrSVAwSlhWSDZOOThqL2RvbApDTHZPdE5oZVFoaGUrTU91VXJMT0ttaytpckM5SEk2cW9aT3Nkc0lCc0pXSHdPanB1UW00OWNvdXc0K2ZKOWRxCjN2cTE2bG5EQlNoRU5HTEFhdVBzWDhLRUlYVzhRRnBDM3ppbXFvY0NnWUI2bTh2VVdRL09reEQzeXFyaWpxejMKSzVFR2hKKzF4cXdvNnZSMndtY1B4dXJXemxCT1NxTVdSa1hFVzVpOTl4OGE1REY3MlF6NElWYlBFRU91SHBvYwpPWnFCSmx0LzlJUDlvdll4c1h6K1FUWFdIZkk3Q1dKZFpjd01kMW5HUk5LVnhpTld3eVhUbk1JMXAyUmdJajAzCnA5WCtpMThPRjZVMnZSNExVM256aVFLQmdBVVZzOGFxMW4zRzloN3pyQTJoZXhDSm91MlBsVHdyV0xjZ0hFdFUKNk5pSE9FOGdXRHFxTndnTHg2Z3pCSjFWTkxJcFVWWFdpUng2Z0hOSDhXcDhkN3VzeHFlM2c1cTlnaUh1MHhKSApFbFQyL0ZvRWc2NTVmakJ4dWQydXBkL2RrRnZRRSt6V0RiaUhUZm1jbTVlRmg0VndoTHV1MC9PUjdoYm85TmgrCnRXYVRBb0dCQUwxVjFUTWZZRFhwYjFwaFBaV2pQL29iV1NqK2VyUXlYdit3TTIxVzRYWFI4YTBkV2hOVXdVeDAKdU9WZ2s1ZlN1OExtNG0zWGNYZ09wV0VJVkZJTzFodDFNN0xxZ0VGNGhFOHl6Y0Vldy9HWXR4VkpCTWEyODVpVQpaVUtkeCt6QWd5VFlnYk50VkVseTVobGRuT2orVmNzanVEL3krWEhXWVl5OVpLa2pNdDhECi0tLS0tRU5EIFJTQSBQUklWQVRFIEtFWS0tLS0tCg==
# Event API JWT public key value is.
# EVENT_API_JWT_PUBLIC_KEY: LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0KTUlJQklqQU5CZ2txaGtpRzl3MEJBUUVGQUFPQ0FROEFNSUlCQ2dLQ0FRRUFvdUtUeHZIVUlUMkQ2Z1dpYlFxLwpkbW9BUUwyeWJ6SGFiUXRlc1AyL2o1VjkvUExaaEc1a0tWSk9aNzFVV0xDcGNlNDF4dnNDSUp3RDkydUM1bktqCk5wblRDTWpwTUJNMGg0aFF4a2VOeHdNeU41N1gzVDNtYUJWZnNRM0JuUStKbzgvS3N1TGE4OW9jR0N4OC9iVTIKOGNld2FxRk8ydUVMWWJiaUZadGFCenFJd0ZCdVMzeEZCa3o0TXowaC9YQjFOOXlkODl3bk4ybWhZUGxTTGtMZQpUdFoyeWswK2krZHhZd2V4MEozOXJDS0hnRWRKSjU1Nkc2Z21laklnd21wc1V4cml2RUlFTmNHT084d2ZBUFRXCi92SFZmc2ROTExHejRtZE9CWmxsa2orcFFQODZOcVJSNEpKcUN0SDd0djJpdUFIYjg2cHlqdWVmRUZTeWMybFkKRXdJREFRQUIKLS0tLS1FTkQgUFVCTElDIEtFWS0tLS0tCg==
test:
<<: *defaults
production:
<<: *defaults

View File

@@ -0,0 +1,13 @@
keychain:
applogic:
algorithm: RS256
value: <%= @applogic_public_key %>
scopes:
read_operations:
mandatory_signers:
- applogic
permitted_signers:
- applogic
jwt: {}

View File

@@ -0,0 +1,69 @@
- code: 101
type: asset
kind: main
currency_type: fiat
description: Main Fiat Assets Account
scope: platform
- code: 102
type: asset
kind: main
currency_type: coin
description: Main Crypto Assets Account
scope: platform
- code: 201
type: liability
kind: main
currency_type: fiat
description: Main Fiat Liabilities Account
scope: member
- code: 202
type: liability
kind: main
currency_type: coin
description: Main Crypto Liabilities Account
scope: member
- code: 211
type: liability
kind: locked
currency_type: fiat
description: Locked Fiat Liabilities Account
scope: member
- code: 212
type: liability
kind: locked
currency_type: coin
description: Locked Crypto Liabilities Account
scope: member
- code: 301
type: revenue
kind: main
currency_type: fiat
description: Main Fiat Revenues Account
scope: platform
- code: 302
type: revenue
kind: main
currency_type: coin
description: Main Crypto Revenues Account
scope: platform
- code: 401
type: expense
kind: main
currency_type: fiat
description: Main Fiat Expenses Account
scope: platform
- code: 402
type: expense
kind: main
currency_type: coin
description: Main Crypto Expenses Account
scope: platform

View File

@@ -0,0 +1,96 @@
<% if @config['parity']['enabled'] %>
- key: eth-<%= @config['parity']['network'] %>
name: Ethereum <%= @config['parity']['network'].capitalize %>
client: parity
server: http://<%= @config['parity']['address'] %>:<%= @config['parity']['rpcport'] %>
height: 8670000
min_confirmations: 6
explorer:
address: https://etherscan.io/address/#{address}
transaction: https://etherscan.io/tx/#{txid}
status: active
<% end %>
<% if @config['bitcoind']['enabled'] %>
- key: btc-<%= @config['bitcoind']['network'] %>
name: Bitcoin <%= @config['bitcoind']['network'].capitalize %>
client: bitcoin
server: http://<%= @config['bitcoind']['rpcuser'] %>:<%= @config['bitcoind']['rpcpassword'] %>@<%= @config['bitcoind']['address'] %>:<%= @config['bitcoind']['rpcport'] %>
height: 597000
min_confirmations: 6
explorer:
address: https://blockchain.com/address/#{address}
transaction: https://blockchain.com/tx/#{txid}
status: active
<% end %>
<% if @config['BetaCandaTestNetwork'] %>
- key: eth-rinkeby
name: Ethereum Rinkeby
client: geth # API client name.
server: http://127.0.0.1:8545 # Public Ethereum node endpoint. IMPORTANT: full syncmode.
height: 4000000 # Initial block number from which sync will be started.
min_confirmations: 6 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://rinkeby.etherscan.io/address/#{address}
transaction: https://rinkeby.etherscan.io/tx/#{txid}
status: active
- key: btc-testnet
name: Bitcoin Testnet
client: bitcoin # API client name.
server: http://user:password@127.0.0.1:18332 # Public Bitcoin node endpoint.
height: 1500000 # Initial block number from which sync will be started.
min_confirmations: 2 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://testnet.blockchain.com/address/#{address}
transaction: https://testnet.blockchain.com/tx/#{txid}
status: active
- key: bsc-testnet
name: BSC Testnet
client: bitcoin # API client name.
server: http://user:password@127.0.0.1:18332 # Public Bitcoin node endpoint.
height: 4000000 # Initial block number from which sync will be started.
min_confirmations: 15 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://testnet.bscscan.com/address/#{address}
transaction: https://testnet.bscscan.com/tx/#{txid}
status: active
- key: trx-testnet
name: Tron Testnet
client: bitcoin # API client name.
server: http://user:password@127.0.0.1:18332 # Public Bitcoin node endpoint.
height: 4000000 # Initial block number from which sync will be started.
min_confirmations: 15 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://tronscan.org/#/address/#{address}
transaction: https://tronscan.org/#/tx/#{txid}
status: active
- key: xlm-testnet
name: XLM Testnet
client: bitcoin # API client name.
server: http://user:password@127.0.0.1:18332 # Public Bitcoin node endpoint.
height: 4000000 # Initial block number from which sync will be started.
min_confirmations: 1 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://stellarscan.io/address/#{address}
transaction: https://stellarscan.io/tx/#{txid}
status: active
- key: xrp-testnet
name: XRP Testnet
client: bitcoin # API client name.
server: http://user:password@127.0.0.1:18332 # Public Bitcoin node endpoint.
height: 4000000 # Initial block number from which sync will be started.
min_confirmations: 1 # Minimal confirmations needed for withdraw and deposit confirmation.
explorer:
address: https://xrpscan.com/account/#{address}
transaction: https://xrpscan.com/tx/#{txid}
status: active
<% end %>

View File

@@ -0,0 +1,411 @@
- id: irt
name: Iranian Toman
type: fiat
precision: 2
base_factor: 1
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 10
min_collection_amount: 10
withdraw_limit_24h: 1000
withdraw_limit_72h: 2000
deposit_fee: 0
withdraw_fee: 0
position: 100
options: {}
<% if @config['BetaCandaTestNetwork'] %>
- id: cad
name: Canadian Dollar
type: fiat
precision: 2
base_factor: 1
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 10
min_collection_amount: 10
withdraw_limit_24h: 1000
withdraw_limit_72h: 2000
deposit_fee: 0
withdraw_fee: 0
position: 1
options: {}
- id: usdt
name: Tether
blockchain_key: eth-rinkeby
type: coin
precision: 2
base_factor: 1
# IMPORTANT: Don't forget to update this variable according
# to your ERC20-based currency requirements (usually can be found on the official website).
visible: true
deposit_enabled: false
withdrawal_enabled: false
# Deposits with less amount are skipped during blockchain synchronization.
# We advise to set value 10 times bigger than the network fee to prevent losses.
# NOTE: Network fee is paid in ETH but min_deposit_amount is in TRST.
min_deposit_amount: 2
min_collection_amount: 20
withdraw_limit_24h: 1000
withdraw_limit_72h: 3000
deposit_fee: 0
withdraw_fee: 4
position: 2
options:
# ERC20 tx fees configurations.
# Maximum amount of gas you're willing to spend on a particular transaction.
gas_limit: 90_000
# Internal price that is paid for running a contract on the Ethereum network.
gas_price: 1_000_000_000
#
# ERC20 configuration.
erc20_contract_address: '0xdac17f958d2ee523a2206206994597c13d831ec7' # Always wrap this value in quotes!
- id: btc
name: Bitcoin
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 0.00005
min_collection_amount: 0.0001
withdraw_limit_24h: 0.1
withdraw_limit_72h: 0.2
deposit_fee: 0
withdraw_fee: 0.0003
position: 3
options: {}
- id: eth
name: Ethereum
blockchain_key: eth-rinkeby
type: coin
precision: 8
base_factor: 1_000_000_000_000_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 0.00021
min_collection_amount: 0.00021
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 0
position: 4
options:
gas_limit: 21_000
gas_price: 1_000_000_000
- id: etc
name: Ethereum Classic
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 1_000_000_000_000_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 0.00021
min_collection_amount: 0.00021
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 0
position: 5
options: {}
- id: shib
name: 1000 Shiba Inu
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 6
options: {}
- id: bch
name: Bitcoin Cash
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 7
options: {}
- id: ltc
name: Litecoin
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 8
options: {}
- id: ada
name: Cardano
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 9
options: {}
- id: bnb
name: BNB
blockchain_key: btc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 10
options: {}
- id: xlm
name: Stellar Lumens
blockchain_key: xlm-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 11
options: {}
- id: xrp
name: Ripple
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 12
options: {}
- id: trx
name: Tron
blockchain_key: trx-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 13
options: {}
- id: doge
name: Dogecoin
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 14
options: {}
- id: uni
name: Uniswap
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 15
options: {}
- id: link
name: Chainlink
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 16
options: {}
- id: dot
name: Polkadot
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 17
options: {}
- id: aave
name: AAVE
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 18
options: {}
- id: matic
name: Polygon
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 19
options: {}
- id: mkr
name: Maker
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 20
options: {}
- id: sol
name: Solana
blockchain_key: bsc-testnet
type: coin
precision: 8
base_factor: 100_000_000
visible: true
deposit_enabled: false
withdrawal_enabled: false
min_deposit_amount: 1000
min_collection_amount: 1000
withdraw_limit_24h: 0.2
withdraw_limit_72h: 0.5
deposit_fee: 0
withdraw_fee: 400
position: 21
options: {}
<% end %>

View File

@@ -0,0 +1,4 @@
- id: 1
kind: 'fiat'
kyc_level: 1
limit_24_hour: 10000

View File

@@ -0,0 +1,20 @@
- name: peatio-default-engine
driver: peatio
state: online
- name: local-finex-spot-engine
driver: finex-spot
state: online
- name: opendax-finex-spot-engine
driver: opendax
url: https://www.opendax.io/api/v2/finex
key: ""
secret: ""
# The data field for store some special data engine
# Can be used in upstream worker
data: |
{
"rest"=>"https://www.opendax.io/api/v2/finex",
"websocket"=>"wss://www.opendax.io/api/v2/ranger",
"trade_proxy"=>true,
}
state: online

View File

@@ -0,0 +1,524 @@
- id: usdtirt
engine_name: peatio-default-engine
base_unit: usdt
quote_unit: irt
amount_precision: 2
price_precision: 4
min_price: 1000
max_price: 100000
min_amount: 1
position: 1
state: disabled
data: {}
<% if @config['BetaCandaTestNetwork'] %>
# CAD Market------------------------------------------
- id: usdtcad
engine_name: peatio-default-engine
base_unit: usdt
quote_unit: cad
amount_precision: 2
price_precision: 2
min_price: 0.1
max_price: 100
min_amount: 1
position: 1
state: enabled
data: {}
- id: btccad
engine_name: peatio-default-engine
base_unit: btc
quote_unit: cad
amount_precision: 6
price_precision: 2
min_price: 1000
max_price: 200000
min_amount: 0.0001
position: 2
state: enabled
data: {}
- id: ethcad
engine_name: peatio-default-engine
base_unit: eth
quote_unit: cad
amount_precision: 5
price_precision: 2
min_price: 100
max_price: 20000
min_amount: 0.0001
position: 3
state: enabled
data: {}
- id: etccad
engine_name: peatio-default-engine
base_unit: etc
quote_unit: cad
amount_precision: 2
price_precision: 4
min_price: 1
max_price: 500
min_amount: 0.01
position: 4
state: enabled
data: {}
- id: shibcad
engine_name: peatio-default-engine
base_unit: shib
quote_unit: cad
amount_precision: 0
price_precision: 6
min_price: 0.00001
max_price: 10
min_amount: 1
position: 5
state: enabled
data: {}
- id: bchcad
engine_name: peatio-default-engine
base_unit: bch
quote_unit: cad
amount_precision: 5
price_precision: 2
min_price: 0.1
max_price: 5000
min_amount: 0.001
position: 6
state: enabled
data: {}
- id: ltccad
engine_name: peatio-default-engine
base_unit: ltc
quote_unit: cad
amount_precision: 6
price_precision: 2
min_price: 0.1
max_price: 5000
min_amount: 0.001
position: 7
state: enabled
data: {}
- id: adacad
engine_name: peatio-default-engine
base_unit: ada
quote_unit: cad
amount_precision: 3
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 8
state: enabled
data: {}
- id: bnbcad
engine_name: peatio-default-engine
base_unit: bnb
quote_unit: cad
amount_precision: 4
price_precision: 3
min_price: 1
max_price: 5000
min_amount: 0.01
position: 9
state: enabled
data: {}
- id: xlmcad
engine_name: peatio-default-engine
base_unit: xlm
quote_unit: cad
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 10
state: enabled
data: {}
- id: xrpcad
engine_name: peatio-default-engine
base_unit: xrp
quote_unit: cad
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 11
state: enabled
data: {}
- id: trxcad
engine_name: peatio-default-engine
base_unit: trx
quote_unit: cad
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 12
state: enabled
data: {}
- id: dogecad
engine_name: peatio-default-engine
base_unit: doge
quote_unit: cad
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 1
position: 13
state: enabled
data: {}
- id: unicad
engine_name: peatio-default-engine
base_unit: uni
quote_unit: cad
amount_precision: 4
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.001
position: 14
state: enabled
data: {}
- id: linkcad
engine_name: peatio-default-engine
base_unit: link
quote_unit: cad
amount_precision: 4
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.001
position: 15
state: enabled
data: {}
- id: dotcad
engine_name: peatio-default-engine
base_unit: dot
quote_unit: cad
amount_precision: 3
price_precision: 4
min_price: 0.001
max_price: 100
min_amount: 0.1
position: 16
state: enabled
data: {}
- id: aavecad
engine_name: peatio-default-engine
base_unit: aave
quote_unit: cad
amount_precision: 4
price_precision: 6
min_price: 0.1
max_price: 5000
min_amount: 0.0001
position: 17
state: enabled
data: {}
- id: maticcad
engine_name: peatio-default-engine
base_unit: matic
quote_unit: cad
amount_precision: 3
price_precision: 4
min_price: 0.001
max_price: 100
min_amount: 1
position: 18
state: enabled
data: {}
- id: mkrcad
engine_name: peatio-default-engine
base_unit: mkr
quote_unit: cad
amount_precision: 4
price_precision: 4
min_price: 0.1
max_price: 5000
min_amount: 0.0001
position: 19
state: enabled
data: {}
- id: solcad
engine_name: peatio-default-engine
base_unit: sol
quote_unit: cad
amount_precision: 4
price_precision: 6
min_price: 0.001
max_price: 100
min_amount: 0.001
position: 20
state: enabled
data: {}
# USDT Market------------------------------------------
- id: btcusdt
engine_name: peatio-default-engine
base_unit: btc
quote_unit: usdt
amount_precision: 6
price_precision: 4
min_price: 1000
max_price: 200000
min_amount: 0.0001
position: 21
state: enabled
data: {}
- id: ethusdt
engine_name: peatio-default-engine
base_unit: eth
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 100
max_price: 20000
min_amount: 0.0001
position: 22
state: enabled
data: {}
- id: etcusdt
engine_name: peatio-default-engine
base_unit: etc
quote_unit: usdt
amount_precision: 4
price_precision: 4
min_price: 1
max_price: 500
min_amount: 0.001
position: 23
state: enabled
data: {}
- id: shibusdt
engine_name: peatio-default-engine
base_unit: shib
quote_unit: usdt
amount_precision: 0
price_precision: 6
min_price: 0.000001
max_price: 10
min_amount: 1
position: 24
state: enabled
data: {}
- id: bchusdt
engine_name: peatio-default-engine
base_unit: bch
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 0.1
max_price: 5000
min_amount: 0.001
position: 25
state: enabled
data: {}
- id: ltcusdt
engine_name: peatio-default-engine
base_unit: ltc
quote_unit: usdt
amount_precision: 6
price_precision: 4
min_price: 0.1
max_price: 5000
min_amount: 0.0001
position: 26
state: enabled
data: {}
- id: adausdt
engine_name: peatio-default-engine
base_unit: ada
quote_unit: usdt
amount_precision: 3
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 27
state: enabled
data: {}
- id: bnbusdt
engine_name: peatio-default-engine
base_unit: bnb
quote_unit: usdt
amount_precision: 4
price_precision: 3
min_price: 1
max_price: 5000
min_amount: 0.01
position: 28
state: enabled
data: {}
- id: xlmusdt
engine_name: peatio-default-engine
base_unit: xlm
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 29
state: enabled
data: {}
- id: xrpusdt
engine_name: peatio-default-engine
base_unit: xrp
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 30
state: enabled
data: {}
- id: trxusdt
engine_name: peatio-default-engine
base_unit: trx
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.1
position: 31
state: enabled
data: {}
- id: dogeusdt
engine_name: peatio-default-engine
base_unit: doge
quote_unit: usdt
amount_precision: 5
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 1
position: 32
state: enabled
data: {}
- id: uniusdt
engine_name: peatio-default-engine
base_unit: uni
quote_unit: usdt
amount_precision: 4
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.001
position: 33
state: enabled
data: {}
- id: linkusdt
engine_name: peatio-default-engine
base_unit: link
quote_unit: usdt
amount_precision: 4
price_precision: 4
min_price: 0.0001
max_price: 100
min_amount: 0.001
position: 34
state: enabled
data: {}
- id: dotusdt
engine_name: peatio-default-engine
base_unit: dot
quote_unit: usdt
amount_precision: 3
price_precision: 4
min_price: 0.001
max_price: 100
min_amount: 0.1
position: 35
state: enabled
data: {}
- id: aaveusdt
engine_name: peatio-default-engine
base_unit: aave
quote_unit: usdt
amount_precision: 4
price_precision: 6
min_price: 0.1
max_price: 5000
min_amount: 0.0001
position: 36
state: enabled
data: {}
- id: maticusdt
engine_name: peatio-default-engine
base_unit: matic
quote_unit: usdt
amount_precision: 3
price_precision: 4
min_price: 0.001
max_price: 100
min_amount: 1
position: 37
state: enabled
data: {}
- id: mkrusdt
engine_name: peatio-default-engine
base_unit: mkr
quote_unit: usdt
amount_precision: 4
price_precision: 4
min_price: 0.1
max_price: 5000
min_amount: 0.001
position: 38
state: enabled
data: {}
- id: solusdt
engine_name: peatio-default-engine
base_unit: sol
quote_unit: usdt
amount_precision: 4
price_precision: 6
min_price: 0.0001
max_price: 100
min_amount: 0.001
position: 39
state: enabled
data: {}
<% end %>

View File

@@ -0,0 +1,28 @@
- id: 1
uid: '1'
email: 'test1@test.com'
level: 2
role: 'admin'
group: 'vip-3'
state: 'active'
- id: 2
uid: '2'
email: 'test2@test.com'
level: 2
role: 'admin'
group: 'vip-3'
state: 'active'
- id: 3
uid: '3'
email: 'test3@test.com'
level: 2
role: 'admin'
group: 'vip-3'
state: 'active'

View File

@@ -0,0 +1,29 @@
- market_id: any
group: any
maker: 0.002
taker: 0.002
- market_id: any
group: vip-0
maker: 0.0030
taker: 0.0035
- market_id: any
group: vip-1
maker: 0.0025
taker: 0.0030
- market_id: any
group: vip-2
maker: 0.0020
taker: 0.0025
- market_id: any
group: vip-3
maker: 0.0015
taker: 0.0020
- market_id: any
group: vip-4
maker: 0.001
taker: 0.0015

View File

@@ -0,0 +1,30 @@
<% if @config['parity']['enabled'] %>
<% @config['wallets']['eth'].each do |wallet| -%>
- name: Ethereum <%= wallet['kind'].capitalize %> Wallet
blockchain_key: eth-<%= @config['parity']['network'] %>
currency_ids: eth,trst
address: '<%= wallet['address'] %>'
kind: <%= wallet['kind'] %>
max_balance: <%= wallet['max_balance'] %>
status: active
gateway: parity
settings:
uri: http://<%= @config['parity']['address'] %>:<%= @config['parity']['rpcport'] %>
secret: '<%= wallet['secret'] %>'
<% end %>
<% end %>
<% if @config['bitcoind']['enabled'] %>
<% @config['wallets']['btc'].each do |wallet| -%>
- name: Bitcoin <%= wallet['kind'].capitalize %> Wallet
blockchain_key: btc-<%= @config['bitcoind']['network'] %>
currency_ids: btc
address: '<%= wallet['address'] %>'
kind: <%= wallet['kind'] %>
max_balance: <%= wallet['max_balance'] %>
status: active
gateway: bitcoind
settings:
uri: http://<%= @config['bitcoind']['rpcuser'] %>:<%= @config['bitcoind']['rpcpassword'] %>@<%= @config['bitcoind']['address'] %>:<%= @config['bitcoind']['rpcport'] %>
<% end %>
<% end %>

View File

@@ -0,0 +1,9 @@
<% if ENV['WITHDRAW_LIMITS_CONFIG'] %>
<%= File.read(ENV['WITHDRAW_LIMITS_CONFIG']) %>
<% else %>
- kyc_level: any
group: any
# limits in USD
limit_24_hour: 100
limit_1_month: 1000
<% end %>