LogoLogo
  • Getting Started
    • About Tesseract
    • Our yield offering
    • Our platform offering
    • Security & Compliance
  • Earn Direct
    • Introduction to Earn Direct
      • For Institutional Clients
      • For Private Investors
      • For Treasury Management
    • Earn Direct API integration
  • Earn API
    • Overview
      • Calculating interest
      • Settlements
    • Solution architecture
      • Mapping to Tesseract data model
    • Process & Environments
      • Acceptance Testing
  • Working with Reports
  • FAQ
  • API docs
    • Earn Api
Powered by GitBook
On this page
Export as PDF

FAQ

PreviousWorking with Reports

Last updated 3 months ago

1. How does the Tesseract Earn API platform work?

Tesseract's platform allows a partner to create accounts for various cryptocurrencies to deposit the currency and earn interest on it.

Most partners have customers of their own and use Tesseract's platform to earn interest on behalf of their users.

2. How do I connect to the API?

You need a set of API Keys (ClientId, Client Secret), which you must use to issue a bearer token.

More information about the API and how to connect can be found here

3. How do I create a deposit/withdrawal?

An account needs to be created in order to deposit assets to Earn interest, the account is created based on a product such as “BTC fixed interest” and user.

After an account has been created the deposit and withdraw api can be used to add / remove capital to the balance of the account.

Note that the actual assets are transferred once daily, and depositing and withdrawing can be considered accounting operations.

When the account has a positive balance, a withdrawal can be requested. The actual assets are transferred to the partner each day and at the end of the accounting cycle.

More about the deposits and withdrawal endpoint can be found in the .

4. How do I settle the outstanding balance with Tesseract?

The accrued deposits and withdrawals will be netted. If the total deposited amount for a given currency is greater than the withdrawn amount, the difference will be added to an outstanding balance and vice versa.

If the outstanding balance is negative for a given currency, the partner is expected to settle by transferring assets to Tesseract.

If the outstanding balance is positive, Tesseract will transfer the given amount either automatically or manually if the amount needs manual approval.

More on how to query the outstanding balance can be found in the .

5. How do I get reports out of the system?

Reports are generated at the end of an accounting cycle every day.

There are two types of reports “a full transaction journal” with all transactions and bookings since the partner has been created in the platform and an incremental report which is different from day to day.

6. Are there any fixed fees for using the platform?

No, there are no fixed costs or partner transaction fees.

7. How does Tesseract make money?

When we give you the rates, our share has already been discounted from the fixed interest rate.

8. Who pays the network fees?

The one who initiates the transfer.

9. How do you handle decimals?

Through Earn and the rest of the system, we expect to distribute interest and receive deposits and withdrawals with 18 decimal precision for all currencies regardless of what native precision the currency or token uses.

Numbers are stored and handled with 18 decimal precision in Earn.

In practice, this means that we expect to process numbers with a supported precision of 0.000000000000000001, also represented as 1e-18. The numbers below may be handled by the software differently depending on the scenario.

Example: Minimum interest distribution amount handling

If the interest to be distributed is less than 1e-18, we will round the number, and if the rounded result is zero, then no interest will be distributed.

Example 1.1) 0.000000000000000000999996 rounded is 0.000000000000000001, and we distribute 0.000000000000000001 to the user.

Example 1.2) 0.0000000000000000005 rounded is 0.000000000000000001, and we distribute 0.000000000000000001 to the user

Example 1.3) 0.00000000000000000049999 rounded is 0.000000000000000000 or 0, and we will NOT distribute anything to the user.

Partner Questions

1. If we don't have any users, how do we integrate?

You can create a user who represents the company and create a user account per currency for the company.

This allows you to deposit capital per currency, but you will likely not use features such as tiered interest calculation.

2. Why don't we as a partner have an account?

You must create a user account first to get an account that the company can use internally.

3. Are you staking our assets?

If agreed upon, the assets can be staked.

4. Why don't our users just send you the bitcoin?

Our platform is built as a B2B(2C) platform, and to simplify things and save gas fees, the users cannot send assets on their own.

5. How do we withdraw the interest we earn as a partner?

Generally speaking, interest earned by the partner is settled once a day, which makes the system more simple and more robust.

For some partners (not having users), it may be possible to create an account per currency with interest for the account set to the same amount as the fixed interest. This would make all interest to be paid when using the withdrawal method, provided no deposits have been made the same day or the day before.

6. Can we settle/transfer our partner margin on a non-daily basis separate from the user transactions?

No, the system has been optimized for cost-efficiency, but we provide all the necessary data for you to analyze all the insights. Book-keeping and transfers are separate for cost optimization of the system

7. Can Tesseract suspend, ban or delete users?

No, the partner does this.

8. Are products fixed? Is it safe for us to save products and use them for all further calls when creating accounts?

Yes, once the products are created, their IDs stay the same. Keep in mind that each environment has its own set of products.

9. Is /users/{userId}/account end-point available in production? I am asking to know if we should keep accounts on our end or if keeping the user’s id is enough. Also, can we get accounts immediately when, for example, requesting a new deposit?

10. What is the *Correction transaction type (described in API docs)?

A correction transaction is a transaction that negates a previous transaction. Note that we do not currently allow partners to create correction transactions.

11. Is the account balance effected immediately after calling /accounts/{accountId}/deposit or /accounts/{accountId}/withdraw endpoint (or after some time for instance)?

Yes, but account balances for your end users should be calculated from your data.

12. What does the usual settlement flow look like? Should we download yesterday's journal somewhat after 00:00:00 or use /outstanding-balance endpoint for settlement initiation?

You should use the /outstanding-balance endpoint for checking the balances.

13. When do you initiate a toPartner blockchain transfer (at which hour is it already seen in the latest journal?)

Transfers from our system are automatically initiated during the daily accounting. Note that if the transfer amount exceeds a certain threshold, it requires manual approval from our operation team.

14. When should we initiate a fromPartner blockchain transfer?

Within 24 hours of the daily accounting.

15. If a blockchain settlement transfer is created after 00:00, does this mean that some end users will have to wait up to 48 hours to start earning interest? Is it possible to do the settlement before 00:00 to avoid this?

Users earn interest starting from the first day that they make a deposit (even if they deposit 23:59). However, when they withdraw, they do not earn interest for that amount on the last day. Keep in mind that we have separated the book-keeping operations from the actual transfers, so for your end-user to earn interest on a deposit, you just need to make a successful deposit through our API.

16. Is an outstanding balance updated only once per day? We would like to know ASAP when the outstanding balance was settled (if you see our deposit blockchain transfer, for instance) so we can know when this transfer will start earning rewards.

As mentioned earlier, the bookkeeping and transfers are kept separate, so you, as a partner, will also start earning on deposits as soon as you make a successful deposit through our API.

17. Can the accounting timezone be set to 00:00:00-23:59:59 UTC , instead of (+2)?

Yes, we can configure the daily accounting to take place based on your preference.

No, you should store the deposits and withdrawals in your system after receiving a successful response from our API. This way, you can serve your end-users with an up-to-date transaction history. Once each day, after the daily accounting, you should download the report and amend your transaction history with the interest transactions created by our system to be able to include the interest transactions in the transaction history that you show your end-users. This is also mentioned in the Restrictions sections of the API documentation here -

https://earn-api.partner.env.tesseractinvestment.dev/docs/
API docs
API docs
https://earn-api.partner.env.tesseractinvestment.dev/docs/