DAN
Website
  • 🚀Accelerating Digital Ownership Adoption
  • Digital Assets Network
    • ❌Challenges in Adoption
    • ✅DAN Stack
    • 📜Modular Protocol
    • 🎯DAN Labs Impact
    • 🔐®️ ERC-7066 Author
      • Overview
  • DAN PROTOCOLS
    • 📌Modular Solutions for Digital Ownership
    • 💡Asset Creation
    • 🤝Marketplace
    • 🔓Rent Protocol
    • 💰Loan Protocol
      • How does a loan work?
    • 💰Utility Protocol
      • How does it work?
  • For Developers
    • 🚀Launchpad
      • APIs
        • User's Collections
        • Collection Details
      • SDK
        • Create Collection
        • Mint NFT
        • Mint NFT (Batch)
    • 🛒Market
      • APIs
      • SDK
        • Create Listing
        • Buy Listed NFT
        • Cancel Listing
    • ⚙️Utility
      • APIs
        • 👥Client
          • Register
          • Verify
          • Redeem Code
          • Get All Claimed Utility User
        • 👨‍💻Developer
          • Get All Benefits By Collection
      • SDK
    • 💰Loans
      • APIs
        • User Loans
        • Raw Transactions (Advanced)
      • SDK
        • EVM
        • Solana
      • Wallet Integration
        • EVM
        • Solana
    • 🗞️Rentals
      • APIs
        • NFTs (Owned and Rented)
        • NFTs (Rented)
        • Raw Transactions (Advanced)
      • On-Chain
      • SDK
        • EVM
        • Solana
      • Wallet Integration
        • EVM
        • Solana
    • ⛓️Supported Chains
  • UseCases : Case Studies
    • 🤝NFT Rentals
    • 💎Ephemeral / Consumable NFTs
    • 📝NFT Mandates
    • 🎆Post-Mint Utility
    • 💼Partial Payment at Mint
  • Community
    • 🔑Terms of Service
    • 🔏Privacy Policy
    • 🌐Website
    • 👽Discord
    • 🐦Twitter
Powered by GitBook
On this page
  1. For Developers
  2. Loans
  3. APIs

Raw Transactions (Advanced)

PreviousUser LoansNextSDK

Last updated 2 months ago

Endpoint:

  • Main Net Base URL: https://api.danlabs.xyz

  • Test Net Base URL: https://api-staging.danlabs.xyz

1. Create a Bid Pool

This operation creates a bid pool for a specific collection.

StartCoroutine(SendRequest("http://api.streamnft.tech/initPool", "POST", new
{
  interestrate = "1",
  graceperiod = "10",
  collection = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  loanduration = "10",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56", //Optional (providing secret send on-chain transaction)
  raw = false //Optional (return raw transaction)
}));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/initPool");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var body= {
  interestrate = "1",
  graceperiod = "10",
  collection = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  loanduration = "10",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56", //Optional (providing secret send on-chain transaction)
  raw = false
}
request.AddBody(body);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

2. Get Bid Pool

This operation retrieves the bid pool.

StartCoroutine(SendRequest("http://api.streamnft.tech/getBidPool", "GET", null));// Some code
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/getBidPool");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);

Console.WriteLine("{0}", response.Content);

3. Add Liquidity

This operation adds liquidity to a created Bid Pool.

StartCoroutine(SendRequest("http://api.streamnft.tech/initManager", "POST", new
{
  biddingool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  bidamount = "100", // amount in lamports,
  totalbids = "10", // total bids
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56", //Optional (providing secret send on-chain transaction)
  raw = false //Optional (return raw transaction)
}));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/initManager");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var body= {
  biddingool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  bidamount = "100", 
  totalbids = "10", 
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56",
  raw = false 
}
request.AddBody(body);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

4. Get Bid Manager

This operation retrieves the bid manager.

StartCoroutine(SendRequest("http://api.streamnft.tech/getBidManager", "GET", null));// Some code
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/getBidPool");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);

Console.WriteLine("{0}", response.Content);

5. Get User Assets

This operation retrieves the assets of a specific user.

string userAddress = "userAddressHere"; // Replace with the actual user address
StartCoroutine(SendRequest($"http://api.streamnft.tech/getUserAssets/{userAddress}", "GET", null));
using RestSharp;

var userAddress = "2FPSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h";
var options = new RestClientOptions($"http://api.streamnft.tech/getUserAssets/{userAddress});
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);

Console.WriteLine("{0}", response.Content);

6. Get Asset Manager

This operation retrieves the asset manager.


string mint = "NFTmint"; // Replace with the NFT mint
StartCoroutine(SendRequest($"http://api.streamnft.tech/getAssetInfo/{mint}", "GET", null));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/getAssetManager");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var response = await client.GetAsync(request);

Console.WriteLine("{0}", response.Content);

7. Take Loan

Collection holders can claim loan on their NFTs.

StartCoroutine(SendRequest("http://api.streamnft.tech/processLoan", "POST", new
{
  biddingpool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56",
  raw = false 
}));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/processLoan");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var body= {
  biddingpool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56",
  raw = false
}
request.AddBody(body);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

8. Repay Loan

Repay loan already taken by the user.

StartCoroutine(SendRequest("http://api.streamnft.tech/repayLoan", "POST", new
{
  biddingpoolaccount = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  nftmint = "3YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa33",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56", //Optional (providing secret send on-chain transaction)
  raw = false //Optional (return raw transaction)
}));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/repayLoan");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var body= {
  biddingpoolaccount = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  nftmint = "3YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa33",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56",
  raw = false 
}
request.AddBody(body);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);

9. Remove Liquidity

Liquidity providers can remove provided liquidity.

StartCoroutine(SendRequest("http://api.streamnft.tech/cancelmanager", "POST", new
{
  biddingpool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
    secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56", //Optional (providing secret send on-chain transaction)
  raw = false //Optional (return raw transaction)
}));
using RestSharp;

var options = new RestClientOptions("http://api.streamnft.tech/cancelmanager");
var client = new RestClient(options);
var request = new RestRequest("");
request.AddHeader("accept", "application/json");
var body= {
  biddingpool = "1YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  biddingmanager = "2YeSmq9njjsyr4AYb1LDzdooUaVJThXdgH34Z6Gpaa3h",
  secret = "4uzLYRhX2dnsgUZVNNY82TNFCZbDFt5D9KLJuTFM8X2mc83ACEybEAi8aurEEZJTkSBwp8xg65KKP2ot1cj5Cz56",
  raw = false
}
request.AddBody(body);
var response = await client.PostAsync(request);

Console.WriteLine("{0}", response.Content);
💰
get

Get all bid pool

Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
get
GET /getLoanPool HTTP/1.1
Host: 
Accept: */*
[
  {
    "status": true,
    "data": [
      {
        "publicKey": "text",
        "account": {
          "initializerKey": "text",
          "collectionAddress": "text",
          "loanDurationInMinutes": "text",
          "gracePeriodInMinutes": "text",
          "apy": 1,
          "interestRateLender": 1,
          "interestRateProtocol": 1,
          "totalBidManager": "text",
          "lastBidLamports": "text"
        }
      }
    ]
  }
]
get

get All bid managers

Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
get
GET /getLoanOffers HTTP/1.1
Host: 
Accept: */*
[
  {
    "status": true,
    "data": [
      {
        "publicKey": "text",
        "account": {
          "bidderPubkey": "text",
          "biddingAmountInLamports": "text",
          "biddingNftFloorPrice": 1,
          "biddingPoolAddress": "text",
          "borrowersNftTokenAccountAddress": "text",
          "borrowersAddress": "text",
          "biddingManagerBump": 1,
          "totalBids": "text",
          "pendingLoans": "text"
        }
      }
    ]
  }
]
get

Retrieves the assets owned by a specific user.

Path parameters
mintstringOptionalExample: 7YeSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
get
GET /getAssetInfo/{mint} HTTP/1.1
Host: 
Accept: */*
[
  {
    "publicKey": "text",
    "account": {
      "initializerKey": "text",
      "initializerTokenAccount": "text",
      "mint": "text",
      "holder": "text",
      "collection": "text",
      "rate": "text",
      "offerExpiry": "text",
      "rentExpiry": "text",
      "state": {
        "stale": {}
      },
      "minDuration": "text",
      "fixedDuration": "text",
      "ownerRevenue": "text",
      "holderTokenAccount": "text",
      "whitelist": "text",
      "loanExpiry": "text",
      "bidManagerKey": "text",
      "rentIsFixed": true,
      "lockedInVault": true,
      "vaultAccount": "text"
    }
  }
]
  • POST/createLoanPool
  • GET/getLoanPool
  • POST/addLoanOffer
  • GET/getLoanOffers
  • GET/getAssetInfo/{mint}
  • POST/processLoan
  • POST/repayLoan
  • POST/removeLoanOffer
post

Inialize bid pool

Body
interestratestringOptionalExample: 1
graceperiodstringOptionalExample: 10
collectionstringOptionalExample: 1
loandurationstringOptionalExample: 10
secretstringOptionalExample: 10
rawbooleanOptionalExample: true
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
post
POST /createLoanPool HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 101

{
  "interestrate": "1",
  "graceperiod": "10",
  "collection": "1",
  "loanduration": "10",
  "secret": "10",
  "raw": true
}
{
  "msg": "successful"
}
post

Initialize a bid manager

Body
biddingoolstringOptionalExample: 1
bidamountstringOptionalExample: 100
totalbidsstringOptionalExample: 10
secretstringOptionalExample: abcd
rawbooleanOptionalExample: false
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
post
POST /addLoanOffer HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 83

{
  "biddingool": "1",
  "bidamount": "100",
  "totalbids": "10",
  "secret": "abcd",
  "raw": "false"
}
{
  "msg": "successful"
}
post

Loan on list bid manager

Body
biddingpoolstringOptionalExample: 1
biddingmanagerstringOptionalExample: 1
nftmintstringOptionalExample: 1
secretstringOptionalExample: abcd
rawbooleanOptionalExample: false
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
post
POST /processLoan HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 82

{
  "biddingpool": "1",
  "biddingmanager": "1",
  "nftmint": "1",
  "secret": "abcd",
  "raw": false
}
{
  "msg": "successful"
}
post

Repay an Loan

Body
biddingpoolaccountstringOptionalExample: 7YeSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h
biddingmanagerstringOptionalExample: 1
nftmintstringOptionalExample: 1
secretstringOptionalExample: abcd
rawbooleanOptionalExample: false
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
post
POST /repayLoan HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 132

{
  "biddingpoolaccount": "7YeSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h",
  "biddingmanager": "1",
  "nftmint": "1",
  "secret": "abcd",
  "raw": false
}
{
  "msg": "successful"
}
post

Cancel a bidding manager

Body
biddingpoolstringOptionalExample: 7YeSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h
biddingmanagerstringOptionalExample: 1
secretstringOptionalExample: abcd
rawbooleanOptionalExample: false
Responses
200
Successful response
application/json; charset=utf-8
500
Server error
application/json; charset=utf-8
post
POST /removeLoanOffer HTTP/1.1
Host: 
Content-Type: application/json
Accept: */*
Content-Length: 111

{
  "biddingpool": "7YeSmq9njjsyr4Axb1LDzdooUaVJThXdgHE4Z6Gpaa3h",
  "biddingmanager": "1",
  "secret": "abcd",
  "raw": false
}
{
  "msg": "successful"
}