Github -
Github -
Router Contract - EQC_-t0nCnOFMdp7E7qPxAOCbCWGFz-e3pwxb6tTvFmshjt5
Router Contract - EQDnfag9lHlc0rS6YeI7WwRq-3ltcKSsYxLiXmveB7gNUzNO
The best way to get all the pools and general information about them is to use our indexer.
Indexer is critical for our system, and we keep it highly available, however, we encourage caching the pool list.
There are several ways to get all positions and positions per person.
This question depends on your requirements, limitations, and infrastructure of choice. Here are 5 options
If you have ever implemented integration with other Algebra EVM projects written in your language of choice - then the output simulation can be bit-precise
You can use our Typescript implementation of user-side swap simulation. It includes the script that compares it with a direct contract call. Before actual blockchain execution please check that the estimates you made with TS match the contract call
You can use our Kotlin implementation of user-side swap simulation.
Explorer page:
GraphQL endpoint:
Explorer page:
GraphQL endpoint:
Alternatively, if you don’t want to depend on our infrastructure, you can rescan the blockchain in search of messages sent by the router
If you want to manually scan and enumerate all the positions for a particular pool you can first use the method and get "Number of active NFT positions" from it. Then iterate from 0 as the index of NFT and call
Position NFT is a real NFT so you can use and to get NFT address info and metadata. For position parameters, however, you would need to call the NFT get-method -
Please address the GraphQL schema documents for more details - Getting collected fees - Here is a small snippet that uses our indexer
Sending swap can be done with our SDK -
An example of swap preparation can be found here -
A swap request is created as a payload in the jetton transfer and is sent to the router. The general logic of the input parameters can be derived from the SDK example above and the doc of the pool swap message
The simplest and most precise way is to call the pool contract get method -
Download the pool contract code (code is immutable) and data and run this method in sandbox/blueprint. This would be the simplest and fastest way to make many calls. The general example you can find here -