Pump SDK library for Go

Go SDK for interacting with the Pump Protocol on Solana.
Currently supports Bonding Curves v0.1.0 and AMM v0.1.0.
Features
- **Bonding Curves – Create and manage token launch pools with bonding curves.
- **AMM – Seamlessly migrate BC pools to AMM and interact with automated market makers.
- **Liquidity Management – Add or remove liquidity, manage positions, and claim accrued fees.
- **Token Swaps – Execute buy/sell operations with slippage protection and accurate quotations.
- **Multi-Token Support – Fully compatible with SPL tokens and Token-2022.
- **Real-Time Quotes – Retrieve precise swap quotations before transaction execution.
- **Fee Management – Calculate and collect fees automatically.
Install
Run go get github.com/krazyTry/pump-go
Requirements
Meteora SDK requires Go version >=1.25.1
Documentation
https://pkg.go.dev/github.com/krazyTry/pump-go
Usage
Bonding Curve Example
Read tests in tests/bonding_curve
AMM Example
Read tests in tests/amm
FAQ
How can I quickly find my AMM?
var ammService = amm.NewClient(rpcClient, rpc.CommitmentFinalized)
func GetPoolAmm(baseMint, creator solana.PublicKey) (*amm.AccountWithPool, error) {
pools, err := ammService.FetchPoolByBaseMint(ctx, baseMint)
if err != nil {
t.Fatal("cpAmm.FetchPoolStatesByTokenAMint() fail", err)
}
var p *amm.AccountWithPool
for _,pool :=range pools {
if pool.Account.Creator != creator {
continue
}
p = pool
break
}
return p, nil
}
License
This project is licensed under the MIT License. See the LICENSE file for details.
Note: This SDK provides Go bindings for the Pump Protocol on Solana and is not affiliated with the official Pump team.