Documentation Index
Fetch the complete documentation index at: https://docs.sequence.xyz/llms.txt
Use this file to discover all available pages before exploring further.
🛠️ Step 1: Install Sequence’s Unreal SDK
Download v3 from the SDK’s GitHub Releases
to access Ecosystem Wallets. You can download one of the .zip files, depending on the Unreal Engine version you are using.
To see Ecosystem Wallets in action, try our Built-In Demo.
Go to sequence.build, sign up or log in, and create a new project. You can follow the Builder Getting Started guide to get a step by step flow.
Follow our Unreal Setup to configure the Unreal SDK.
💼 Step 3: Create a Session with Permissions
To send a transaction to a specific contract, you must first create a session with the required permissions.
const FString Target = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const int64 ChainId = 421614;
const int64 Deadline = 1856724472000;
const int64 ValueLimit = 0;
UContractPermissions* Permissions = UContractPermissions::CreateContractPermissions(ChainId, Target, Deadline, ValueLimit);
Next, use the permissions object to call an authentication function — for example, Sign In with Google.
If you prefer, you can also leave the permissions empty to create an implicit session.
const TSuccessCallback<bool> SuccessCallback = [this, OnSuccess](bool Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
USequenceConnect* Connect = NewObject<USequenceConnect>();
Connect->SignInWithGoogle(Permissions, SuccessCallback, FailureCallback);
📨 Step 4: Send Transactions
Finally, let’s use our wallet session to send a transaction to the contract address specified in our permissions.
const FString To = TEXT("0x33985d320809E26274a72E03268c8a29927Bc6dA");
const FString FunctionSignature = TEXT("explicitEmit()");
const int64 Value = 0;
const TArray<FString> Values = { };
UContractTransaction* Transaction = UContractTransaction::CreateContractTransaction(To, Value, FunctionSignature, Values);
Next, use the transaction object and pass it to the SendTransaction function.
Optionally, if you’re interacting on a mainnet without gas sponsorship, you can fetch fee options first.
const TSuccessCallback<FString> SuccessCallback = [OnSuccess](const FString& Result) { };
const FFailureCallback FailureCallback = [OnFailure](const FSequenceError& Error) { };
USequenceWallet* Wallet = NewObject<USequenceWallet>();
Wallet->SendTransaction(Transaction, SuccessCallback, FailureCallback);