package main
import (
"context"
"fmt"
"log"
paratro "github.com/paratro/paratro-sdk-go"
)
func main() {
client, err := paratro.NewMPCClient(
"your-api-key",
"your-api-secret",
paratro.Production(),
)
if err != nil {
log.Fatal(err)
}
ctx := context.Background()
// Create wallet
wallet, err := client.Wallet.CreateWallet(ctx, ¶tro.CreateWalletRequest{
WalletName: "My Wallet",
Description: "Primary wallet",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Wallet ID: %s\n", wallet.WalletID)
// Create account
account, err := client.Account.CreateAccount(ctx, ¶tro.CreateAccountRequest{
WalletID: wallet.WalletID,
Chain: "ethereum",
Label: "Deposit Account",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Account: %s (%s)\n", account.AccountID, account.Address)
// Add asset
asset, err := client.Asset.CreateAsset(ctx, ¶tro.CreateAssetRequest{
AccountID: account.AccountID,
Symbol: "USDT",
Chain: "ethereum",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Asset: %s (%s)\n", asset.AssetID, asset.Symbol)
// Create transfer
transfer, err := client.Transaction.CreateTransfer(ctx, ¶tro.CreateTransferRequest{
FromAddress: account.Address,
ToAddress: "0xbbbb...",
Chain: "ethereum",
TokenSymbol: "USDT",
Amount: "10.5",
})
if err != nil {
log.Fatal(err)
}
fmt.Printf("Transfer: %s (%s)\n", transfer.TxID, transfer.Status)
}