API Solana
Endpoint khusus Solana: pencarian token, keamanan token & pool, Fee Advisor, Zap satu transaksi, aksi posisi, dan riwayat on-chain. Endpoint transaksi memakai sesi wallet Solana (Sign in with Solana).
Daftar endpoint
| Metode | Endpoint | Keterangan |
|---|---|---|
GET | `/v1/solana/token-search?q=` | Cari token berdasarkan nama/simbol/mint (publik). |
GET | `/v1/solana/wallet-tokens` | Semua token SPL/Token-2022 di wallet sesi beserta metadata. |
GET | `/v1/pool-create/token?chain=solana&token=` | Info token + laporan keamanan + daftar hitam + izin pool per DEX. |
GET | `/v1/pools/security?chain=solana&q=` | Laporan keamanan pool Solana (bentuk sama dengan EVM). |
GET | `/v1/security/blacklist` | Daftar hitam token (opsional chain & token). |
GET | `/v1/solana/orca/check` · `/v1/solana/raydium/check` | Fee tier, pool yang sudah ada, harga pembanding & pasar pasangan. |
POST | `/v1/solana/fee-advice` | Peringkat fee tier (APR fee, LVR, APR bersih) + rekomendasi. |
POST | `/v1/solana/zap/one` | Zap satu transaksi (swap Jupiter + buka posisi + setor) ke pool yang ada. |
POST | `/v1/solana/{orca|raydium}/create-pool` · `/open-position` | Buat pool & buka posisi (transaksi siap ditandatangani). |
POST | `/v1/solana/{orca|raydium}/position-action` | add (dengan preview), remove, collect, close. |
GET | `/v1/solana/raydium/tick-rent` | Estimasi rent tick array Raydium yang tidak kembali. |
GET | `/v1/solana/position-history?position=` | Riwayat posisi langsung dari chain (publik). |
GET | `/v1/solana/pool?address=` | Data halaman pool Solana: state on-chain, pasar DexScreener, harga Jupiter, distribusi likuiditas (publik, cache 60 dtk). |
GET | `/v1/pools/search?chain=solana&q=` | Cari pool Solana (alamat pool / mint / simbol) termasuk di luar indeks. |
POST | `/v1/solana/swap` | Swap Jupiter satu transaksi v0 (pratinjau dengan preview). |
POST | `position-action` + `zapTo` | Zap Out: remove/close lalu tukar sisi lain ke mint zapTo dalam satu transaksi v0. |
GET | `/v1/solana/token-balance?mint=` | Saldo satu mint di wallet sesi (tanpa cache). |
Contoh
bash
curl -s "https://banipool.com/api/v1/solana/token-search?q=JUP" | jq '.data.tokens[0]'
curl -s "https://banipool.com/api/v1/solana/position-history?position=<POSITION>" | jq '.data.items'json
{
"pool": "<WHIRLPOOL>",
"tokenIn": "So11111111111111111111111111111111111111112",
"amountIn": "100000000",
"range": { "minPct": -10, "maxPct": 10 },
"slippageBps": 100
}Transaksi yang dikembalikan sudah disimulasikan; tanda tangani dengan wallet sesi (signAndSendTransaction). Bila Zap tidak muat satu transaksi, respons berisi details.reason = "too_large" — gunakan alur bertahap (/zap/plan → /zap/swap → /open-position).