Go SDK
The official Go SDK for Crowd.Credit, compatible with Go 1.21+.
Installation
go get github.com/crowdpay/crowd-credit-go
Setup
package main
import (
cc "github.com/crowdpay/crowd-credit-go"
)
func main() {
client := cc.NewClient(cc.WithAPIKey("your_api_key"))
}
Usage Examples
Account Management
// Get account details
account, err := client.Accounts.Me(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Account: %s\n", account.WalletAddress)
Credit
// Get credit line
creditLine, err := client.Credit.GetLine(ctx)
if err != nil {
log.Fatal(err)
}
fmt.Printf("Available: $%s\n", creditLine.Available)
fmt.Printf("Health factor: %s\n", creditLine.HealthFactor)
Deposits
// List deposits
deposits, err := client.Deposits.List(ctx, &cc.ListParams{Limit: 10})
if err != nil {
log.Fatal(err)
}
for _, d := range deposits.Items {
fmt.Printf("Deposit: %s %s\n", d.Amount, d.Token)
}
Error Handling
import "errors"
_, err := client.Credit.Draw(ctx, &cc.DrawParams{Amount: "1000"})
if err != nil {
var rateLimitErr *cc.RateLimitError
var apiErr *cc.APIError
if errors.As(err, &rateLimitErr) {
fmt.Printf("Rate limited. Retry after %ds\n", rateLimitErr.RetryAfter)
} else if errors.As(err, &apiErr) {
fmt.Printf("API error: %s - %s\n", apiErr.Code, apiErr.Message)
}
}